Форум HeroesWorld-а - Показать сообщение отдельно - [Игра]Викторина
Показать сообщение отдельно
#892
Старый 08.10.2016, 02:48
  #892
^
Uranium235
 
Аватар для Uranium235
📖
Регистрация: 23.05.2015
Сообщения: 679
1487
Отправить сообщение для  Uranium235 с помощью ICQ
Регистрация: 23.05.2015
Сообщения: 679
1487
Отправить сообщение для  Uranium235 с помощью ICQ
По умолчанию
Re: [Игра]Викторина

Я пытался через разность между количеством колпаков разных цветов формулу вывести, но не получилось. Так напишу, может кого на мысли натолкнет.
Задумка была, что для каждой значения функции от разностей (с самой функцией загвоздка вышла) придумать цвет колпака, который называет первый отвечающий.
Например - если значение 0, то зеленый, если 1, то красный, 2 синий, 3 опять зеленый... В общем, как вариант, N (где эн - это натуральное число число и 0) - означает зеленый, N+1 красный, N+2 синий.

Сама функция - я пробовал складывать все 3 разности (по модулю разумеется разность), а также 2 любые из них. Не выходит что-то.
То есть, у меня было так: допустим 36 красных колпаков, 32 синих и 31 зеленый перед первым отвечающим.
Он складывает например все 3 разности 4+5+1.Получает 10. 10 это красный цвет колпака, его он и называет.
Второй считает колпаки перед собой (и он слышал красный, то есть понимает что сумма разностей перед последним была 1, 4, 7, 10, 13...
Считает разности перед собой (пусть у него например красный колпак, но он этого не знает. Тогда должно быть 35 красных, 32 синих, 31 зеленый. Сумма разностей 8.
Он так прикидывает, раз разность не могла изменится сильно от того, что не учтен его колпак, у первого она была 7 или 10.
Тогда, если у меня зеленый колпак, думает второй, то первый получил бы: 3+3+0. Не подходит.
Если у меня синий колпак, он бы получил: 2+2+4=8 Не подходит.
С красным колпаком - собственно разумеется подходит.
Но теперь рассмотрим другой случай, если у второго синий колпак на самом деле.
Тогда он прикидывает (видит 36 красных, 31 синий, 31 зеленый): разность 10.
И тут получается, что красный колпак ему не подходит (потому что тогда была бы разность 12 у первого, а это не красный, а зеленый).
Но выбрать между синим и зеленым он не может, потому что разность получается одинаковая из-за того, что сейчас их поровну.

В первом случае - у третьего мудреца получилось бы думаю посчитать свою разность и сравнить с ответами первого и второго. Но опять же, в случае ничьей он засыпается.
Я пытался модифицировать формулу, но к успеху не пришел.

Вот если бы колпаков было 2 цвета, только синий и красный, было бы проще. Всего перед первым 99 колпаков. Пускай 51 красный и 48 синих. А заранее обговорить, что если число красных четное, то называть красный цвет, если нечетное, называть синий. Так что называет синий.
Второй смотрит (пусть у него красный). Перед ним 50 красных и 48 синих. А первый сказал, что перед ним нечетное число красных колпаков. Значит, видя четное число красных, второй понимает, что у него красный.
Аналогично, если бы был у него синий колпак, то число красных тоже осталось бы нечетным, и второй бы это понял.
Третий рассуждает так же: Перед первым было нечетное число красных, а второй назвал красный. Значит, если у третьего самого красный колпак, то число красных перед ним нечетное, а если синий, то четное.
Но я чет не соображу, как аналогичную формулу для трех цветов применить.

Например, можно смотреть кратность каким то числами, или кратность между разностями - но у меня формула не выводится, хотя она наверняка есть.

Еще была такая идея, считать сумму колпаков с коэффициентами: 1*число красных+2*число синих+3*число зеленых. (с тем же принципом - сумма кратная трем - первый называет зеленый, кратная трем+1 красный, трем+2 синий). А второй считает свою сумму и сравнивает - но тоже какая-то загвоздка возникла.
Uranium235 вне форума
Ответить с цитированием