Автор: Василий Захаров (---.sun.mcst.ru)
Дата: 05-08-03 16:23
> Тяжело быть иногда гуманитарием.
Молодчина, Саша, абсолютно верное решение.
А уж для гуманитария так и вообще подвиг. :)
> следующий руководствуясь "подсказкой"
> произнесения слова (ударение например)
Подсказываю - суть задачи не в этом. :)
> можно ли решение сформулировать как-то поизящней
Можно, конечно.
В математике целых чисел есть операция "сложение по модулю", определяется она примерно следующим образом: суммой чисел по модулю N называется остаток от деления обычной арифметической суммы этих чисел на N. Вычитание по модулю определяется аналогично (домашнее задание :).
Соответственно, 100-й визирь называет сумму по модулю 99-ти впереди стоящих, каждый из остальных считает сумму по модулю всех впереди стоящих (он их видит) и всех позади стоящих (их ответы он слышал), кроме 100-го, и вычитает оную сумму из ответа 100-го.
> очень хочется услышать полноценный ответ
> на задачку с заключенными
Ок, буду дома - закину. Набирать лень. :)
> Воспроизведём его логику?
Воспроизведём:
0) Поскольку все визири умные, то все всё понимают и не тормозят. :)
1) Если один из визирей видит два белых колпака,
он сразу говорит, что на нём чёрный.
2) Если визирь видит чёрный и белый колпак, то на нём самом может быть либо чёрный, либо белый. Но если на нём белый, то тот, на ком чёрный, видит два белых колпака, но раз он молчит (см 1), то значит это не так. Следовательно, тот, кто видит чёрный и белый колпак может, немного подумав, уверенно утверждать, что на нём самом тоже чёрный колпак. Дальше вопрос реакции - кто из тех двоих, на ком чёрные колпаки, раньше об этом скажет. :)
3) Если визирь видит два чёрных колпака, то ему следует думать подольше. Если оба его товарища молчат (потому что тоже видят два чёрных колпака), то значит и на нём самом чёрный. Тут тоже вопрос в том, как бы пораньше об этом сказать, но при этом не поспешить с этим заявлением, если на самом деле не нём белый, а его товарищи, который видит чёрный и белый - тормоза. :)
Выводы:
1) если тебе достался белый колпак - ничего не поделаешь,
в султанатуру придётся сдавать экзамены.
2) Если видишь два белых - ори, что на тебе чёрный.
3) Видишь хоть один чёрный - подожди немного, а потом всё равно ори, что что на тебе чёрный.
Кстати, насколько я понимаю, задача хоть и нестройно, но обобщается для случая с N визирями, N чёрными и N-1 белыми колпаками. :) Типа, если вокруг на всех белые, то на тебе чёрный, и так далее. :)
|
|