?

Log in

А ну-ка, декларативисты! - Общество дровосеков Бердичева по изучению Мишны

Apr. 30th, 2017

12:21 am - А ну-ка, декларативисты!

Previous Entry Share Next Entry

На давно любимом сайте - очередная задачка:

Возьмем, скажем, строку "CABACB" - в ней между буквами А - один символ, между буквами В - два символа, а между буквами С - три. Если увеличивать количество разных букв, то без пробела/дефиса не обойтись. Например, для пяти букв вариантом ответа будет "ADAEC-DBCEB".

ACADECB-DBE
ADACEBDCB-E
ADAEC-DBCEB
AEABCDBEC-D
AEA-CDBECBD
AEA-DBCEBDC
BCDBECADA-E
B-DBECADACE
B-EBDACAEDC
CAEACDB-EBD
C-EBCDBAEAD


Требуется найти строку, в которой имеется по паре каждой буквы латинского алфавита и не более одного дополнительного символа, т. е. длиной 52 или 53 символа.

Раз они там так спрашивают, то надо, значит, писать программу. Как и положено программисту, я ленив и нетерпелив, поэтому меня хватило только на программу из пяти строк (190 байт), которая выдала результат секунд через 5, если не ошибаюсь (а если ошибаюсь, то через 10), но в таком виде, что пришлось писать еще одну программу, переводящую числа в буквы.

Внимание, вопрос: на каком языке я написал программу?

Ради интереса я попытался изменить программу, чтобы она нашла лексикографически первый из возможных ответов. Попытка искать по шаблону ABACBDECFGDHEI.F.G..H..I... пока к успеху не привела. По шаблону ABACBDECFGDHE..F.G..H... находится много, но буква, следующая после второго E, обычно ближе к концу алфавита.

This entry was originally posted at http://spamsink.dreamwidth.org/1048436.html. Please comment there using OpenID.

Tags:

Comments:

From:aerffadf
Date:May 1st, 2017 09:03 pm (UTC)
(Link)
Sentient что ли?
(Reply) (Thread)
[User Picture]
From:spamsink
Date:May 1st, 2017 11:45 pm (UTC)
(Link)
Ну да. :)

(Reply) (Parent) (Thread)