Задачка от Microsoft

Пишут, что эту и похожие задачки MS использует на своих собеседованиях:
Злобный демон поймал много гномов (их точное количество неизвестно). После этого во время «инструктажа при приеме на работу» в свою компанию демон прикрепил каждому из гномов на лоб красный или зеленый драгоценный камень. Демон сообщает каждому своему новому рабу гному, что теперь у того на лбу драгоценный камень, который невозможно удалить. Ни сам демон, ни другой гном не скажут, какого цвета этот камень (гномам строго запрещено разговаривать).
Каждое утро гномы строятся. Это делается для того, чтобы демон мог их пересчитать и убедиться, что ни один из гномов не убежал.
В один прекрасный день демону гномы надоели, и он решил от них избавиться. Он объявляет гномам, что отпустит их всех на свободу, если они сумеют правильно определить, какого цвета прикрепленный у каждого из них на лбу камень. Он дает им одну подсказку: есть по крайней мере один гном с зеленым камнем и один — с красным. Чтобы обрести свободу, гномы во время утреннего построения должны (им по прежнему нельзя разговаривать) подать демону правильный сигнал: все гномы с красным камнем во лбу должны выйти из строя на один шаг, а все те, у кого зеленый камень, — остаться в строю. Если они при этом не допустят ни одной ошибки — все гномы смогут отправиться домой и снова работать на своих любимых угольных шахтах. Если же они допустят ошибку — все будут казнены прямо на месте.
Время, которое дается гномам для определения цвета камней, не ограничено. Они все обладают безупречной логикой и очень хотят вернуться домой. Как им нужно поступить?
Повторюсь: гномы НИКАК не могут общаться. У них есть неограниченное число построений для решения вопроса и только одна попытка.
PS: Гномы в данной задаче — безупречно логичные существа, у них абсолютное зрение, память, понимание логики других гномов.

Взято отсюда — там и комменты есть…



3 комментария