Это несколько корректуры гольф -как копы-и-разбойники вызов. Это нить полицейских; нить грабителей здесь.
Менты
Ваша задача - определить абстрактную систему переписывания, в которой трудно определить достижимость одного слова из другого. Вы подготовите следующие вещи:
Набор символов, называемый алфавитом. (Вы можете использовать любые символы Юникода для них, но, пожалуйста, не используйте пробелы или символы, которые трудно отличить друг от друга.)
Исходная строка состоит из символов из вашего алфавита.
Целевая строка состоит из символов из вашего алфавита.
Набор правил переписывания с использованием символов вашего алфавита. (См. Ниже определение правила перезаписи.)
Доказательство того, что исходная строка может быть преобразована в целевую строку путем последовательного применения правил перезаписи. Это доказательство может состоять из фактической последовательности шагов перезаписи, или математического доказательства того, что такая последовательность должна существовать, или математического доказательства того, что такая последовательность не существует.
Вы опубликуете первые четыре из них, сохраняя доказательства в секрете; грабители попытаются взломать ваш ответ, предоставив собственное доказательство того, что ваша целевая строка может или не может быть достигнута из вашей исходной строки. Если ваша заявка не была взломана в течение двух недель , вы можете пометить ее как безопасную и отредактировать в своем доказательстве.
Материалы будут оцениваться в соответствии с количеством символов в их правилах перезаписи, а также их исходной и целевой строками, как описано ниже. Победителем станет не взломанная заявка с самым низким счетом.
Что такое правило перезаписи?
Правило перезаписи - это просто пара строк в вашем алфавите. (Любая из этих строк может быть пустой.) Применение правила перезаписи состоит в том, чтобы найти подстроку, равную первой строке в паре, и заменить ее второй.
Пример должен прояснить это:
Предположим, алфавит есть A
, B
и C
; исходная строка " A
"; целевая строка " C
" и правила перезаписи
A:B
B:BB
B:A
AA:C
тогда целевая строка достижима следующим образом:
A
B (using rule 1)
BB (using rule 2)
AB (using rule 3)
AA (using rule 3)
C (using rule 4)
счет
Ваша оценка будет
- длина вашей исходной строки,
- плюс длина вашей целевой строки,
- плюс длина всех строк, включенных в ваши правила перезаписи,
- плюс один дополнительный балл за каждое правило перезаписи.
Если вы напишите свои правила перезаписи с разделителем двоеточий, как указано выше, это будет только общая длина всех правил перезаписи (включая разделитель), плюс длины строк источника и назначения. Чем ниже балл, тем лучше. Количество различных символов в вашем алфавите будет использоваться для разрыва связей, при этом меньшее количество будет лучше.
премия
Я хотел бы видеть ответы, которые действительно идут за низкие оценки. Я присуждаю 200 повторений за первый ответ, который набрал менее 100 баллов в этом задании и не получил трещины.
Mx -> Mxx
правила, так что в конечном итоге это будет намного сложнее, чем у Хофштадтера. оригинал.