Задача про 11 карандашей (математическая игра из заданий для поступающих в Л2Ш)
На столе лежит 11 карандашей. Двое по очереди берут со стола 1, 2 или 3 карандаша. Проигрывает берущий последний карандаш. Как должен играть первый игрок, чтобы победить?
Предварительные замечания.
Будем считать, что оба игрока одинаково смекалисты, т.е. если, например игрок видит на столе перед собой 2 карандаша, он смекает, что надо взять один карандаш. П = противник.
Решение.
Какая ситуация для меня равна выигрышу?
Если мой ход, и Я вижу, что на столе 4, 3, 2 карандаша. Тогда я беру 3, 2 или 1 карандаш и оставлю П 1 карандаш после себя.
Противник, понятное дело, не дурак, он по доброй воле, т.е. если у него будет выбор, никогда не оставит мне ни 4, ни 3 ни 2 карандаша.
Значит, если он оставил мне такую комбинацию, выбора у него не было. Какое же число он видел перед собой? Очевидно, число 5. Почему? 5 – 1 = 4, 5 – 2 = 3, 5 – 1 = 2. У него не было выбора: какое количество карандашей ни бери, ситуация ведёт к проигрышу. Тот, кто перед своим ходом видит на поле 5 карандашей – проиграл!
Новый этап. Мне нужно после своего хода оставить противнику 5 карандашей (и не допустить, чтобы он оставил мне 5!)
5 карандашей я могу сделать из 8, из 7 и из 6. Значит и мой противник сможет из этого числа сделать 5 карандашей и заставить меня проиграть! Тот, кто видит перед своим ходом 8, 7, 6 карандашей – выиграл.
Опять же по доброй воле никто противнику такой подарок не сделает, только если не будет в условиях, когда выбора нет. А когда выбора нет? 9 – 1 = 8, 9 – 2 = 7, 9 – 3 = 6. Если игрок видит перед собой 9 карандашей, то он однозначно проиграл. Сколько бы он ни взял он оставляет противнику всё для выигрыша. Тот, кто видит перед собой 9 карандашей – проиграл.
Теперь переходим к практике:
Я начинаю и беру 3 карандаша: Я 11-3 = 8, это выигрыш противника (см. пункт 5)
П 8-3 = 5
Я 5 – любое число из набора 4, 3, 2 и всё равно проигрываю!
Можно взять 2 карандаша первым, и победа гарантирована: Я 11 – 2 = 9
П 9 – 1 = 8, 9 – 2 =7, 9 – 3= 6
Я вижу перед своим ходом 8, 7, 6 карандашей и согласно сказанному в п.5 выигрываю
А что же если взять первым 1 карандаш?
Я 11 – 1 = 10
П 10 – 1 = 9, это снова выигрыш противника (см. пункт 6)
Общая стратегия игры:
Двигаемся от хвоста игры (как правило, это возможно) таким образом:
Описываем ситуацию, в которой я выигрываю, либо ситуацию из которой я за один свой ход прихожу к победе.
П допустит такую ситуацию, только если у него не будет других вариантов, т.е. ход, приводящий к моему выигрышу или предвыигрышной ситуации – единственный.
Как мне должен ходить, чтобы сделать такую ситуацию, когда у П есть всего один ход и тот приводить к выигрышу Я? Придумываю такую ситуацию и повторяю весь алгоритм далее.
Таким вот образом мы перебираемся идя либо по тем точкам, которые ведут к выигрышу, либо к проигрышу П.