Страниц: [1]
  Печать  
Автор Тема: Кто злой - тех долой!  (Прочитано 3253 раз)
0 Пользователей и 1 Гость смотрят эту тему.
fortpost
Высший разум
****
Offline Offline

Сообщений: 6853

СПАСИБО
-вы поблагодарили: 1794
-вас поблагодарили: 2269



Просмотр профиля
: Май 12, 2015, 10:53:55 �

Император пригласил на праздник 2015 волшебников, некоторые из которых добрые, а остальные злые. Добрый волшебник всегда говорит правду, а злой может говорить что угодно. При этом волшебники знают, кто добрый и кто злой, а император нет. На празднике император задает каждому волшебнику (в каком хочет порядке) по вопросу, на которые можно ответить "да" или "нет". Опросив всех волшебников, император изгоняет одного. Изгнанный волшебник выходит в заколдованную дверь, и император узнает, добрый он был или злой. Затем император вновь задает каждому из оставшихся волшебников по вопросу, вновь одного изгоняет, и так далее, пока император не решит остановиться (он может это сделать после любого вопроса). Как император может изгнать всех злых волшебников, удалив при этом как можно меньше добрых?
Записан

Лучший способ оказаться в дураках, это считать себя умнее других. Ф. Ларошфуко
Tim
Гений-Говорун
*
Offline Offline

Сообщений: 1079

СПАСИБО
-вы поблагодарили: 128
-вас поблагодарили: 1148



Просмотр профиля
Ответ #1 : Май 12, 2015, 11:12:46 �

Нудно писать, но думаю максимум одним добрым придётся пожертвовать. Суть выделить одного честного. А дальше от него по кругу гонять вопрос - добрый ли следующий.

Эти пользователи сказали вам СПАСИБО :

fortpost

За это сообщение 1 пользователь сказал спасибо!
Записан
fortpost
Высший разум
****
Offline Offline

Сообщений: 6853

СПАСИБО
-вы поблагодарили: 1794
-вас поблагодарили: 2269



Просмотр профиля
Ответ #2 : Май 12, 2015, 11:29:46 �

Нудно писать, но думаю максимум одним добрым придётся пожертвовать. Суть выделить одного честного. А дальше от него по кругу гонять вопрос - добрый ли следующий.
В принципе так. Но интересно было бы на подробное решение глянуть.
Записан

Лучший способ оказаться в дураках, это считать себя умнее других. Ф. Ларошфуко
zhekas
Гений-Говорун
*
Offline Offline

Сообщений: 1035

СПАСИБО
-вы поблагодарили: 34
-вас поблагодарили: 487



Просмотр профиля Email
Ответ #3 : Май 12, 2015, 13:04:37 �

Цикл пока не найдём доброго

       i = 1;
       Пока i-ый не скажет что последний добрый
       {
            i = i+1;
        }
       Если никто не сказал, что последний добрый  Тогда
            последний злой. Помещаем его в заколдованную дверь;
       Иначе
              Помещаем i-го в заколдованную дверь;
              Если i-ый добрый Тогда
                    последний добрый.  Мы нашли доброго
              Иначе
                      i-ый злой. Его не жалко.
              КонецЕсли
       КонецЕсли
КонецЦикла

Эти пользователи сказали вам СПАСИБО :

fortpost

За это сообщение 1 пользователь сказал спасибо!
Записан
Страниц: [1]
  Печать  
 
Перейти в: