Tips turingmachine
Чтобы определить код, требуются все Верификаторы, но вам не обязательно их все использовать! Можно получить много информации, просто отметив, какие из них присутствуют. Рассмотрим пример. Верификаторы:
A) синий нечетный | синий четный B) синий >1 | синий = 1 C) нет 4 | одна 4 | две 4 | три 4 D) синий <4 | синий >3
Итак, во-первых, если бы ответ был «444», это означало бы, что Верификаторы A, B и D не потребовались бы, так как только С мог найти решение. Это невозможно, значит, это не 444.
Как видите, у нас очень мало информации о желтом и фиолетовом. Ни один Верификатор не дает никакой информации о желтом или фиолетовом, чтобы определить их значения среди 1, 2, 3 или 5.
Единственная информация, которая у нас может быть о желтом и фиолетовом, касается количества четверок — общего числа цифр 4 (Верификатор C). Таким образом, мы можем сделать вывод, что желтый и фиолетовый должны быть равны 4 (другими словами, если вы обнаружите, что итоговое решение — 414, то тогда будут существовать другие решения для желтого, например, 424, 434, 454, и никакого способа отличить их друг от друга нет, а это невозможно. Значит, желтый не может быть 1, 2, 3 или 5. Следовательно, желтый=4. То же самое для фиолетового).
Более того, если бы синий был равен 1, то B и C было бы достаточно (т.е., A и D не потребовались бы — что невозможно), чтобы определить, что комбинация — 144. Значит, синий не равен 1.
Если бы синий был 4 или 5, то B был бы бесполезен по сравнению с D. Другими словами, A, C и D достаточно, чтобы определить, 444 это или 544, и B был бы бесполезен, что невозможно. Следовательно, B не 4 и не 5.
Таким образом, остаются возможными только две комбинации: 244 и 344.
Но теперь рассмотрим 244. Верификатор C говорит, что есть две 4, D говорит, что синий равен 1/2/3, A говорит, что он четный = 2... Вам не понадобилось использовать B. Но все Верификаторы требуются, значит, синий не может быть 2, и это не 244.
И значит, это в точности 344 с 0(нулём) проверок.
И мы можем это проверить:
С такими ответами (синий нечетный, синий>1, две 4, синий<4) есть только одна возможность: синий вынужденно равен 3, и, следовательно, желтый и фиолетовый вынужденно равны 4.
Если убрать Верификатор A, остается 2+ решений: 244 и 344.
Если убрать Верификатор B, остается 2+ решений: 144 и 344.
Если убрать Верификатор C, остается 2+ решений (25): например, 325 и 314.
Если убрать Верификатор D, остается 2+ решений: 344 и 544.
Так что каждый Верификатор полезен, и в итоге есть только одна возможность. Без приведенных выше рассуждений это просто означает, что решение допустимо, а не то, что оно единственное.
