Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Вниз

Игра(точней задачка) :)   Найти похожие ветки 

 
JediMaster   (2004-02-06 20:49) [0]

Игра, в которой два участника по очереди берут из кучки от 1 до 3 камней, и проигрывает тот, кто взял последний камень. Мы немного обобщим эту задачу: будем считать, что оба игрока могут брать не по 1, 2, 3 камня, а по k1, k2,..., km камней. Нас опять будет интересовать вопрос, кто из игроков выигрывает при правильной игре. Гарантируется, что вне зависимости от уже сделанных игроками ходов, всегда возможно сделать очередной ход.

Как определить, какой игрок выиграл, 1(делал ход первым) или 2(делал ход вторым) с тем учетом, что игроки играли правильно !!!!!!
У меня вариянтов нет! :(


 
Cr@sh   (2004-02-06 21:09) [1]

Там есть ряд конечных критичных чисел, которое должно выпасть одному из игроков для гарантированой победы.
в идеале это 2k+1... тогда игрок берет k камней, остается k+1, тогда сколько бы не взял другой - первый выиграет, тк ему последний камень не достанется точно.
Это число может доходит до 3k, но там уже нужно смотреть на алгоритм дальнейшей игры.

Вывод: вне зависимости от начала игры, нужно стремиться чтобы тебе досталось 2k+1 камней.

k - max кол-во камней, которое может взять один игрок за один раз.


 
Юрий Зотов   (2004-02-06 21:19) [2]

Пусть N - первоначальное число камней, M - максимальное число камней, которое один игрок может взять за ход. Пойдем от конца игры.

Если перед последним ходом первого игрока в куче осталось M+1 камней, то проигрывает второй игрок. Значит, первый игрок должен стремиться свести игру к этой ситуации.

Она достигается, если перед ПРЕДпоследним ходом первого игрока в куче осталось 2*(M+1) камней. И т.д. - если перед любым ходом первого игрока число камней в куче кратно M+1, то выигрывает первый игрок, если нет - то второй игрок перехватывает инициативу, сводит игру к той же самой цепочке и выигрывает.

Отсюда вытекает правильная стратегия игроков и решение задачи.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.008 c
3-93785
Piter
2004-02-01 21:05
2004.02.29
Упорядочивание в базе данных


1-93886
Defunct
2004-02-15 23:35
2004.02.29
Как сравнить две переменные типа TNotifyEvent?


3-93764
Lisa
2004-02-04 13:59
2004.02.29
Номер выделенной строки в DBGrid e


14-94167
mfender
2004-02-07 18:49
2004.02.29
Индульгенция


3-93763
SPIRIT
2004-02-04 10:29
2004.02.29
SQL Запрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский