Это несколько пруф-гольф-подобно полицейские и грабителивызов. Это нить грабителей; нить полицейских здесь .
Грабители
Полицейские будут публиковать абстрактные системы переписывания. Ваша задача - взломать их представления, доказав, что целевая строка может или не может быть достигнута из исходной строки, применяя их правила перезаписи. (Это можно сделать, опубликовав последовательность правил перезаписи, которая начинается с исходной строки и заканчивается целью, или математически доказав, что она существует или не существует.)
Смотрите ветки полицейских для деталей и определений.
Ответы:
jimmy23013
Давайте работать в обратном направлении для этого. Сначала мы превращаем цифры в их двоичные представления. Мы идем от
VW626206555675126212043640270477001760465526277571600601
кVW++__+_++__+____++_+_++_++_+++_++++_+__+_+_++__+___+_+____+___++++_+______+_+++___+__++++++________++++++____+__++_+_++_+_+_++__+_+++++++_++++__+++_______++______+
. Затем мы продолжаем применять обратное кDCW:W+
иDW:W_
до тех пор, пока не очистим все символы. Наш результат сейчасVDCDCDDDCDDCDCDDDCDDDDDCDCDDCDDCDCDDCDCDDCDCDCDDCDCDCDCDDCDDDCDDCDDCDCDDDCDDDDCDDCDDDDDCDDDDCDCDCDCDDCDDDDDDDCDDCDCDCDDDDCDDDCDCDCDCDCDCDDDDDDDDDCDCDCDCDCDCDDDDDCDDDCDCDDCDDCDCDDCDDCDDCDCDDDCDDCDCDCDCDCDCDCDDCDCDCDCDDDCDCDCDDDDDDDDCDCDDDDDDDCW
. Теперь мы хотим, чтобы эта строка соответствовалаVD+C+W
; то есть мы хотим переместить всеD
буквы слева от всехC
строк. Это может быть сделано путем реверсаDCC:CD
. Мы делаем это, повторяя следующий алгоритм:D
справа от блокаC
s.D
налево от этого блока.C
с.Посредством некоторой математики мы можем определить, что в конечном итоге мы получим 123
D
с и 4638704741628490670592103344196019722536654143873C
с (вы были правы насчет того, что это не подходит для ответа SE ... Я сомневаюсь, что это будет соответствовать, если хранится как состояния всех атомов на Земле в сочетании: P).Если мы будем продолжать применять обратное
V:VD
, мы можем избавиться от всехD
s сейчас, так что мы получаемVCCC.......CCCW
. Мы конвертируемV
обратно вYZ
. Теперь у нас естьYZCCC.......CCCW
.Мы хотим иметь возможность избавиться от всех
C
с и иметь его в формеYAAA...AAABBB...BBBZW
. К счастью, это можно сделать следующим способом. Во-первых, мыYB:Y
обращаемся 585812508217580921743211 раз, чтобы получитьYBBB.......BBBZCCC.......CCCW
. Затем мы повторяем следующую последовательность шагов (где[?*]
означает любое количество?
, не обязательно больше нуля):CZ:ZC
Обратно -применить 587912508217580921743211 раз, чтобы получитьY[A*]BBB.......BBBCCC.......CCCZCCC.......CCCW
CB:BC
много раз, чтобы получитьY[A*]BCBCBC.......BCBCBCZCCC.......CCCW
AZ:Z
иAB:BCA
много раз, чтобы получитьY[A*]ABBB.......BBBZCCC.......CCCW
Посредством индукции мы видим, что мы можем переместить
BZ
комбинацию до конца (кроме как доW
), и тогда числоA
s равно 1/587912508217580921743211 от числаC
s, оставляя нам 7890127658096618386747843A
с. Теперь у нас естьYAAA.......AAABBB.......BBBZW
. ПреобразованиеZW
обратно в aU
, затем обратное применениеU:BU
много раз, чтобы оставить только 2B
с, а затем преобразование вBBU
aT
, и теперь у вас естьYAAA.......AAAT
. Затем вы можете применить обратное обращениеT:AAAAAT
много раз, чтобы получить,YAAAT
потому что числоA
s было 3 больше, чем кратное 5.Спасибо за вызов!
источник
A:B
кABC
даетBBC
, очевидно , что применение обратнойA:B
кBBC
может датьABC
. Специально не указано, что это разрешено, но я могу легко просто поменять свои шаги и найти «обычное» решение, просто проще вернуться назад в IMO.A:B
и не указано, что обратное применение разрешено, тогда я не думаю, что вы можете перейтиBBC
кABC
. Этот конкретный случай может отличаться, и есть какой-то путь в другом направлении. Я проверю это позже.boboquack
Для данной строки возьмите все буквы (a = 0, b = 1, c = 2), сложите их и возьмите по модулю 3. Тогда ни одно из правил перезаписи не изменит это значение. Исходная строка имеет значение 1, а цель имеет значение 2. Поэтому никакая комбинация правил не преобразует исходную строку в целевую строку.
источник
feersum
Это загадка Сокобана. Начальная позиция:
Конечная позиция:
Это можно решить, используя следующую последовательность клавиш:
Вот программа bash, которая преобразует последовательность клавиш в команды sed и применяет их. Команды sed содержат только команды замены, использующие правила перезаписи, определенные в ответе полицейского, и команды маркировки и разветвления, которые не изменяют строку. Это подтверждает, что вы можете получить целевую строку, используя только правила перезаписи.
Попробуйте онлайн!
Попробуйте онлайн (с удаленным кодом выхода)!
Для вверх и вниз,
!:wLW_
или!:_VRv
применяется один раз соответственно, и соответствующие правила применяются неоднократно, пока не!
появится снова. За право, один из!#_:_!#
и!_:_!
применяется. Для левого, один из_#!:#!_
и_!:!_
применяется.Смотрите вывод в ссылках для позиции после каждого хода.
источник
XNOR
Мы используем,
[X,Y]
чтобы указать пробег YX
sНачиная с
xnor = xn[o,1]r
повторения 10 раз алгоритма - за исключением 10-го цикла мы останавливаемся на шаге 4, имеяx[o,1024]r
.Применяя правило 4, это очищает 1023 = 11 * 93
o
с, оставляяxor
.источник
VortexYT
Нет способа убрать
F
s без создания / использования других символов; Таким образом, мы должны использоватьI:F
в качестве последнего шага, чтобы добраться до цели. Ни одно правило не дает синглI
без других нежелательных символов, поэтому вы не можете добраться до целевой строки.Эквивалентно, если вы попытаетесь отобразить в обратном направлении от источника, вы можете получить только от
F
до,I
когда у вас больше нет вариантов.источник