Digit писал(а):А! Понял Я там не корректно написал.
Именно и не в 1 месте
Digit писал(а):В общем, в моем 1-м алгоритме в первый день только заключенный №1 может включить телек без оглядки на его предыдущее состояние.
Не проходит, тогда последовательности 1 2 3 и 1 3 4 тоже обе дадут 1 на выходе.
Digit писал(а):с 1 по 11 день все также, как в способе №2.
с 12 дня включительно заключенные телек не трогают.
если на 20-й день телек работал, то косяк. А если на протяжении второго десятка дней телек был выключен, значит посмотрели все.
Вот это вроде правильное решение, ну или будем считать что правильно, остальное мелочи, давай я его короче сформулирую для всех:
1. Заключенный приходящий в первый день инициализирует телевизор включая его, далее действует как и в другие дни (см. пункт 2);
2. С 1 по 10 день если № заключенного не совпал с № дня - заключенный выключает телевизор;
3. С 11 по 20 день телевизор не трогают;
4. Если в конце телевизор включен - значит 100% побывали все, иначе неизвестно.
Теперь вопрос - есть ли алгоритм приводящий к правильном определению, были ли все, с большей вероятностью?
Добавлено спустя 5 минут 27 секунд:
Ну и можно ли доказать, что не существует более оптимального алгоритма
Добавлено спустя 5 минут 53 секунды:
По сути поведение каждого заключенного в каждый день представляется 2 битами - что он сделает если увидит состояние телевизор 0 и если увидит состояние телевизора 1.
Итого всего алгоритмов может быть - (2^2)^(10*20)=2^400, - есть где порыться