Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Игра со спичками


Автор: Sinedd92 12.4.2013, 12:40
Сама игра следующая: на стол выкладывается достаточно большая кучка спичек (не менее 50). Каждый игрок при своем ходе берет спички из кучки. Нужно взять, по крайней мере, одну и не более, чем вдвое больше, чем взял предыдущий игрок. Выигрывает тот, кто берет последнюю спичку. Нужно реализовать выигрышную стратегию для компьютера.

Автор: Stolzen 12.4.2013, 13:14
Посмотрите книгу "Программирование, теоремы и задачи", автор А. Шень. Там есть глава, которая называется "Анализ игр", в которой рассматриваются подобные задачи. 

Автор: Lipetsk 12.4.2013, 13:33
а сколько брать в первый ход? может сразу все?

Автор: Akina 12.4.2013, 15:15
До тех пор, пока спички нельзя посчитать - неважно, сколько брать. А поскольку описание не предполагает фиксации момента. когда посчитать можно - задача не имеет алгоритмического решения.

Автор: volatile 13.4.2013, 00:12
Akina, я думаю спички можно посчитать всегда.
 smile 
У меня был знакомый, (чел с 2-мя классами образования) играл в на пиво в подобную игру.
всегда сидел в пивбаре, и всегда находились клиенты, которые пытались его выиграть.
Но выиграть его было не реально.  smile 

Автор: Akina 13.4.2013, 20:02
Цитата(volatile @  13.4.2013,  01:12 Найти цитируемый пост)
я думаю спички можно посчитать всегда.

В таком случае отразите это в исходном условии - количество спичек ИЗВЕСТНО.
Такая задача (определение, кто выиграет при правильной игре, и построение выигрышного алгоритма) несложно решается. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)