| Vinchkovsky |
9.06.2007 17:04
Сообщение
#1
|
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 98 Пол: Мужской Реальное имя: Andriy Репутация: 0 |
Есть игра "Три числа" - на листке бумаги написано 3 числа, не отрицательных, большых от нуля или равных ему.
Тот, у кого есть ход, вычеркивает ОДНО из этих чисел и на его место ставит меньшее, но НЕ МЕНЬШЕ НУЛЯ. НУЛЬ НЕЛЬЗЯ ВЫЧЕРКИВАТЬ. Игра заканчивается, когда не возможно ничего сделать, выигрывает тот, который сделал последний ход. Как, зная все 3 числа и того, кто ходит первым, определить, кто выиграет (то есть какая стратегия и тактика этой игры)? ПОДСКАЗКИ: 1) при числах 3, 4, 5 выигрывает тот, кто ходит первый; 2) при числах 7,0,7 выигрывает второй, он должен повторять ходы противника Просьба помочь мне, а именно - подсказать тактику/стратегию этой игры |
![]() ![]() |
| Michael_Rybak |
11.06.2007 21:57
Сообщение
#2
|
|
Michael_Rybak ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Меняет принципиально.
Тогда все решалось проще (конечно, кодить проще классический алгоритм, но придумать его сложнее). Просто генерим все проигрышные тройки, т.е. такие тройки, в которых игрок, делающий первый ход, проигрывает. 1) Тройка (0, 0, 0) - проигрышная (нельзя сделать ход). 2) Тройка (a, b, c) - проигрышная тогда и только тогда, когда из нее нельзя сделать ход в проигрышную тройку. Делаешь три вложеных цикла, и проверяешь. Тут, правда, есть свои сложности - с хранением найденных троек, особенно если давали только турбо паскаль (память >64K можно выделить только динамически). Довольно удобна такая уловка: из второго правила сразу видим, что для данных a и b может быть только одно с такое, что тройка (a, b, c) - проигрышная. Поэтому можно завести двумерный массив 1000х1000, и его значение в точке (a, b) - это соответствующая с, или -1, если с еще не нашли. В таком вот духе Разобраться стоит и с этим решением, возможно, от вас ждали именно чего-то такого. Сообщение отредактировано: Michael_Rybak - 11.06.2007 21:58 |
Vinchkovsky Стратегия игры "Три числа" 9.06.2007 17:04
Michael_Rybak http://ru.wikipedia.org/wiki/%D0%9D%D0%B8%...%D1%8... 10.06.2007 0:49
Vinchkovsky Большущее спасибо...
Возник вопрос - а как к этому... 10.06.2007 11:26
Michael_Rybak Ну, как-то можно :) Меня тоже такой вопрос интерес... 11.06.2007 2:36
Bokul
Не поверишь - вообще не гуглица, даже не яхухиц... 11.06.2007 4:29
Vinchkovsky Bokul , ищи обширнее :yes2:
Кое-что находит об ... 11.06.2007 9:56
Michael_Rybak Кстати, кстати. Теория - теорией, но такой вопрос:... 11.06.2007 20:04
Vinchkovsky Все три числа >=0 и <=1000 :rolleyes:
Это ч... 11.06.2007 20:19![]() ![]() |
|
Текстовая версия | 8.12.2025 9:02 |