|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
у того, о чем я подумал, глубина рекурсии 6, а ходов 95 подразумевал вот что: abcdefgk (a b c d e f g k) меняем ближайшие символы (a b -> b a) кроме среднего при нечетном числе символов -> badcfekg меняем затронутые пары -> dcbakgfe меняем четверки -> kgfedcba итог kgfedcba ------------------ 2mayton - здесь по условию можно заменять только соседние подстроки ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:13 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby меняем ближайшие символы (a b -> b a) кроме среднего при нечетном числе символов -> badcfekg меняем затронутые пары -> dcbakgfe меняем четверки -> kgfedcba можно существенно меньше ходов ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:17 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 mayton Давайте возьмем маленькую строку (не 99 а чуть меньше): Код: sql 1.
Я не знаю английскую панграмму которая имела бы смысл и при этом содержала бы все буквы алвавита по 1 штуке. Для русского языка была тестовая фраза "в чащах юга жил бы цитрус..." Но к чорту прозу. Давайте просто алвафиты. 99 букв - это 33 русских + 22 латиницы + 10 цифр. Или просто упростим задачу до реверса массива байтов. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:25 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 ... можно существенно меньше ходов явные вращения как-то комбинируются? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:51 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Напомнило одну задачку для начинающих из Haskell. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby Имя пользователя1 ... можно существенно меньше ходов явные вращения как-то комбинируются? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 16:56 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
вращение на 1 элемент представляется явным "обменом местами" abcdefgk - abcdefg k -> kabcdefg kabcdefg - kabcdef g -> gkabcdef можно навращать полстроки... но здесь может оказаться хитрая комбинация вращений с "простыми обменами". ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 17:17 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
На вращениях можно наковырять даже перестановки. Которых будет факториал от количества букв в строке. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 17:22 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Вообще-то "вращение" 2-х соседей не запрещено. И уж это точно инверсия даже с т.зр. теоргрупп. А из инверсий любую перестановку можно собрать, правда не оптимально. "Пузырьком" будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 18:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby вращение на 1 элемент представляется явным "обменом местами" abcdefgk - abcdefg k -> kabcdefg kabcdefg - kabcdef g -> gkabcdef да, такие можно, разумеется. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2020, 18:28 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
22090677 не зашло, попробуем другую, строго по сабжу. Строка S1 содержит только буквы R, G, B, и больше никаких других символов. Из неё делается строка S2, длиной на 1 меньше, по правилу: S2[i] = rgb(S1[i], S1[i+1]). Из S2 аналогично делается S3, и т.д., пока не окажется строка S N длиной 1, с одним символом. Надо по строке S1 определить этот символ в S N . Упомянутая функция rgb(x, y) получает на вход два параметра - буквы из набора (R, G, B). Если x=y, то возвращается x, иначе возвращается третья буква из набора, та, которой не равны х и у. Пример Код: sql 1. 2. 3. 4. 5.
Итого из "RGBBR" получилось "R". Паззл интересен тем, что тут можно хитро оптимизировать, и даже километровые строки будут обрабатываться быстро. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 13:54 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, здесь код конкретный ожидается, или как? что касается не зашло. Скажи пожалуйста, а) за какое число обменов двух соседних строк задача решается для длины 99 б) с какой наименьшей длины работает ожидаемое решение эффективнее простого попарного обмена а вообще, имхо, если считаешь, что время вышло, то прилично было бы дать ссылку на решение, если это общеизвестная задача, или показать свое личное решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 14:21 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby Имя пользователя1, здесь код конкретный ожидается, или как? booby а) за какое число обменов двух соседних строк задача решается для длины 99 б) с какой наименьшей длины работает ожидаемое решение эффективнее простого попарного обмена а вообще, имхо, если считаешь, что время вышло, то прилично было бы дать ссылку на решение, если это общеизвестная задача, или показать свое личное решение. 99 решается за 50 обменов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 14:34 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, там был еще один вопрос ... :)) то есть 9 решится по этой схеме за 5? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, У меня идея в том, чтобы свести операцию rgb к арифметической. Обозначим R=0, G=1, B=2 rgb(x,y)=(3-x-y) mod 3. Дальше с телефона неудобно ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:06 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Обозначим R=0, G=1, B=2 rgb(x,y)=(3-x-y) mod 3. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:14 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
booby там был еще один вопрос ... :)) то есть 9 решится по этой схеме за 5? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:16 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 Соколинский Борис Обозначим R=0, G=1, B=2 rgb(x,y)=(3-x-y) mod 3. И выясняем, что достаточно сложить все числа с правильными весами и взять остаток от деления. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:44 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1 22090677 не зашло, попробуем другую, строго по сабжу. Строка S1 содержит только буквы R, G, B, и больше никаких других символов. Из неё делается строка S2, длиной на 1 меньше, по правилу: S2[i] = rgb(S1[i], S1[i+1]). Из S2 аналогично делается S3, и т.д., пока не окажется строка S N длиной 1, с одним символом. Надо по строке S1 определить этот символ в S N . Упомянутая функция rgb(x, y) получает на вход два параметра - буквы из набора (R, G, B). Если x=y, то возвращается x, иначе возвращается третья буква из набора, та, которой не равны х и у. Пример Код: sql 1. 2. 3. 4. 5.
Итого из "RGBBR" получилось "R". Паззл интересен тем, что тут можно хитро оптимизировать, и даже километровые строки будут обрабатываться быстро. Есть подозрение что достаточно посчитать rgb() от крайних, т.е. rgb(R, R) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 15:55 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T, Даже из примера видно, что это не так - начинаем с S3 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:02 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис И выясняем, что достаточно сложить все числа с правильными весами и взять остаток от деления. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:04 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Имя пользователя1, Ну да, вроде. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:05 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Напомнило PPM сжатие. Там тоже брался текст. Выборка группы букв. И эти буквы вращались и заносились в справочник. Потом эти карусели использовались как справочник. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:08 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Соколинский Борис Имя пользователя1, Ну да, вроде. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:10 |
|
Относительно простые задачки
|
|||
---|---|---|---|
#18+
Dima T Имя пользователя1 22090677 не зашло, попробуем другую, строго по сабжу. Строка S1 содержит только буквы R, G, B, и больше никаких других символов. Из неё делается строка S2, длиной на 1 меньше, по правилу: S2[i] = rgb(S1[i], S1[i+1]). Из S2 аналогично делается S3, и т.д., пока не окажется строка S N длиной 1, с одним символом. Надо по строке S1 определить этот символ в S N . Упомянутая функция rgb(x, y) получает на вход два параметра - буквы из набора (R, G, B). Если x=y, то возвращается x, иначе возвращается третья буква из набора, та, которой не равны х и у. Пример Код: sql 1. 2. 3. 4. 5.
Итого из "RGBBR" получилось "R". Паззл интересен тем, что тут можно хитро оптимизировать, и даже километровые строки будут обрабатываться быстро. Есть подозрение что достаточно посчитать rgb() от крайних, т.е. rgb(R, R) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2020, 16:11 |
|
|
start [/forum/topic.php?fid=16&msg=39933122&tid=1339678]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
157ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 286ms |
0 / 0 |