» Открытый Клуб » Еще задача, чтобы отвлечься...
Автор | Тема: Еще задача, чтобы отвлечься... | Мстящий Демон
|
121 |
-1 | написано: 5.06.2007 15:29:06 |
56 и 57 не подходят!
Шлемов не разное кол-во и одеты они не по порядку. Может быть 1 шлем миров и 10
касок и 7 других шапок и на что делить??? При чём тут 3? |
| _der Uver_
|
122 |
2 | написано: 5.06.2007 15:35:42 |
121 вариант то как раз рабочий, делить вовсе не обязательно достаточно просто
вычитать из общей суммы (сколько бы ни было шлемов) сумму предстоящих. |
| Likebeer
|
123 |
2 | написано: 5.06.2007 15:51:33 |
120 Не нужно называть общую сумму, достаточно назвать остаток (т.е.
соответствующий шлем)
121 Три тут притом, что видов шлемов 3! >:-| |
| _der Uver_
|
124 |
| написано: 5.06.2007 16:40:07 |
123 остатка недостаточно, так как шлемов не одинаковое количество. и они не
чередуются. |
| Mike555
|
125 |
| написано: 5.06.2007 16:43:36 |
124 остаток главное, что требуется
121 делить на 3 тут при том, что разных видов шлемов 3, а кокое их по типу
кол-во не играет никакой роли |
| Likebeer
|
126 |
| написано: 5.06.2007 16:58:38 |
124 почему? Ключ к пониманию этого решения состоит в том, что каждый форс видит
НЕ ТОЛЬКО затылок впереди стоящего, а затылки (и шлемы) ВСЕХ впереди стоящих.
Соответственно, сумму впереди стоящих он посчитать в силах. Остаток предыдущий
он знает от стоящего за ним. Теперь понятно? |
| Riki_tiki_tavi
|
127 |
9 | написано: 5.06.2007 17:46:51 |
56 почти правильный, имхо :) Вот только первому тоже надо дать шанс.
Как уже говорили, это задача аналог ста мудрецам, только не с четностью, а
3-арностью, следовательно будет использоваться деление по модулю 3.
== Деление по модулю ==
Деление по модулю - это операция, которая возвращает остаток от деления
(вспомните деление столбиком ;)), например:
4 mod 3 = 1, потому что получится 1 целая и 1 в остатке,
7 mod 3 = 1 тоже, потому что получится 2 целых и 1 в остатке.
6 mod 3 = 0, т.к. содержит 2 целых и остатка нету.
Ну а модуль для чисел, которые меньше трех равен этому же числу, т.е. ноль целых
и это число в остатке.
== Нумерация ==
Нумерацию для шлемов определим так:
Армейский шлем - число 0,
Титановая каска - число 1,
Шлем миротворцев - 2.
== Основная формула ==
Для всех рассчетов используется только одна формула:
(K + Спред + Сслед) mod 3 = E(символ суммы) (вверху "от i=N-1") (внизу
"до 1") mod 3 (1),
где K - номер каски;
N - количество человек;
Cпред - Сумма предыдущих (не учитывается для самого первого, "смертника" и
для следующего за ним);
Спосл - Сумма всех следующих за i-м человеком номеров касок (подсчитывается для
всех кроме первого и последнего).
Значение после знака равно вычисляется смертником, произносится вслух и
запоминается всеми, т.е. оно одно для всех.
== Пример ==
Разберем на примере.
Возьмем пять человек, пусть порядок шлемов будет таким (с конца):
0 1 2 1 0
Самый первый (с конца) вычисляет сумму впередистоящих 1+2+1+0=4, делит её на три
и получает остаток 1, который и говорит. (Для этого расклада первому может
повезти, если на нем будет надета титановая каска, вероятность того что он
выживет соответственно 33,(3)%).
Формула (1) принимает вид:
(K + Спред + Сслед) mod 3 = 1
Второй слышит это число - 1, подсчитывает сумму впередистоящих 2 + 1 + 0 = 3 и
определяет свое число из такого уравнения:
(x + 3) mod 3 = 1, для него это единица, он называет единицу и его отпускают
Третий подсчитывает сумму впередистоящих (равна 1) и сумму предыдущего (равна 1)
и также подставляет её в уравнение
(x + 1 + 1) mod 3 = 1, для него это двойка. Он называет шлем миротворцев, его
отпускают.
Четвертый делает также как третий, сумма предыдущих 2 + 1 = 3, сумма
впередистоящего - 0
(x + 3 + 0) mod 3 = 1, для него это единица. Он называет титановую каску.
И наконец пятый, ему нужно только подсчитать сумму предыдущих: 3 + 1 = 4
(x + 4) mod 3 = 1, x = нулю
З.Ы. и это ОК? :] |
| Riki_tiki_tavi
|
128 |
| написано: 5.06.2007 17:48:12 |
тьфу. табуляцию профильтровали. |
| AXIOM
|
129 |
2 | написано: 5.06.2007 18:36:05 |
ужос. форсы не настолько умны Ж) |
| Мстящий Демон
|
130 |
-3 | написано: 5.06.2007 22:02:25 |
127
не подходят эти решения, проверь в уме |
| Непредсказуемый
|
131 |
| написано: 5.06.2007 23:03:27 |
"...боец может ответить только название шлема и ничего более
говорить не может."
К тому же нигде не сказано, что всех шлемов одиннаковое количество. |
| DistortNeo
|
132 |
| написано: 5.06.2007 23:09:38 |
130
Почему не подходят? Тебе приведены все доказательства, а ты снова за своё.
Если форс знает сумму по модулю 3 (3 = количество типов шлемов) значений всех
впередистоящих и сумму всех впередистоящих с учётом себя, то номер своего шлема,
а значит и название, восстанавливается однозначно.
Учи дискру блин. |
| DistortNeo
|
133 |
| написано: 5.06.2007 23:11:41 |
131
Количество шлемов каждого типа абсолютно не принципиально.
Если известно, что шлемов каждого типа одинаковое количество (6 штук), то
выживут все 18 форсов. |
| Непредсказуемый
|
134 |
| написано: 5.06.2007 23:13:48 |
| Мстящий Демон
|
135 |
| написано: 5.06.2007 23:21:14 |
133
Смотри:
Тит=0
шлем=1
миры=2
Строй:
Тит шлем тит тит тит тит мир тит шлем тит шлем миры тит тит тит шлем мир мир
Для последнего сумма равна 12
12/3=0 остатка, следовательно на нём - титановая какска? Не, на нём - мировский
шлем.
Растолкуйте дальше, что на что делить? :) |
| Silver_Sword
|
136 |
| написано: 5.06.2007 23:21:40 |
Если он будет называть суммы и прочее, то тогда это противоречит условию
задачи... |
| _FATAL_
|
137 |
| написано: 5.06.2007 23:27:23 |
сумма будет 10, он своего не знает |
| _FATAL_
|
138 |
| написано: 5.06.2007 23:28:17 |
хотя, это смотря откуда считать :) |
| АДС
|
139 |
| написано: 5.06.2007 23:44:44 |
135 Самый последний в ряду (он же самый первый говорит, что на нем одето)
считает все шлемы, КРОМЕ себя - получает 10, говорит "шлем", не угадывает -
увы
Второй с конца считает шлемы до себя - получает 8, услышал от последнего "1,
т.е. шлем". (8+х)mod 3=1, x = 2, значит на нем мировая шляпа
Третий с конца считает очки до себя(себя НЕ считает), получает 7, услышал от
второго с конца "2,т.е. мир", (7+х)mod 3=2, х=1 (т.к. остаток от 7 - 1, от 8 -
2) Называет "шлем" |
| СКИПИРИЧ
|
140 |
-3 | написано: 6.06.2007 00:00:54 |
врядли когда лупнями задумывался сей изврат использовались такие методы решения
этой задачи =) |
|
К списку тем
|