Тверской государственный университет
Опубликован: 06.10.2013 | Доступ: свободный | Студентов: 1373 / 335 | Длительность: 02:37:00
Специальности: Преподаватель
Лекция 4:

Разбор задач части С

< Лекция 3 || Лекция 4: 1234

Задача С3 (Анализ игры. Построение графа (дерева) игры)

Непонятно, по каким причинам эта задача включена в раздел С, который следовало бы посвятить программированию. Эту задачу в модифицированном виде стоило бы включить в раздел В. Это самая легкая задача в разделе С. Как правило, если школьники представляли только одну задачу, то это была задача С3. Большинство давало правильное решение задачи. Я не буду приводить той формулировки, которая давалась на экзамене, а рассмотрю более сложный вариант, частным случаем которого является экзаменационный вариант.

Вот как выглядит модифицированный вариант задачи:

<<

Два игрока играют в камушки. Перед ними куча из S камней (1 <= S <= 34). Каждый игрок обладает неограниченным запасом камней. У каждого игрока три возможных хода:

  1. Добавить в кучу 1 камень.
  2. Добавить в кучу 2 камня.
  3. Удвоить число камней в куче.

Выигрывает игрок, который при своем ходе строит кучу, содержащую более 34 камней. Для всех начальных значений S требуется указать, какой игрок выигрывает (первый или второй) и какова его выигрышная стратегия.

>>

Решение задачи представим в виде таблицы, содержащей разбор случаев для всех возможных значений S. Вначале рассмотрим очевидный случай, а затем все последующие варианты будем сводить к ранее рассмотренным вариантам.

Вариант (Case) Начальное состояние S Стратегия игрока Результат хода Результат игры Число ходов
1 18 – 34 *2 >=36 Выигрыш 1
2 17 +1, +2, *2 Case1 Проигрыш 1
3 16 +1 Case2 Выигрыш 2
15 +2
4 14 +1, +2 Case3 Проигрыш <=2
*2 Case1
5 13 +1 Case4 Выигрыш <=3
12 +2
6 11 +1, +2 Case5 Проигрыш <=3
*2 Case1
7 10 +1 Case6 Выигрыш <=4
9 +2
8 8 +1, +2 Case7 Проигрыш <=4
*2 Case3
9 7 *2 Case4 Выигрыш <=5
6 +2 Case8
10 5 +1, +2 Case9 Проигрыш <=5
*2 Case7
11 4 *2 Case8 Выигрыш <=6
3 +2 Case10
12 2 +1, +2, *2 Case11 Проигрыш <=6
13 1 +1 Case12 Выигрыш <=7

Выигрыш для варианта 1 очевиден. Каждый последующий вариант при оптимальной стратегии сводится к уже рассмотренным вариантам. Если в начальной позиции можно сделать ход, в результате которого приходим к варианту, помеченному как проигрыш, то это означает, что найдена выигрышная стратегия, поскольку после Вашего хода второй игрок проигрывает. Если же в начальной позиции, какой бы ход Вы не сделали, приходим к позиции, помеченной как выигрыш, то это означает, что выигрышная стратегия есть у второго игрока.

Результат игры в таблице показан для первого игрока, делающего первый ход. Очевидно, что когда первый игрок проигрывает, то второй выигрывает. В таблице указана та стратегия, которая приводит к выигрышу. В строках, задающих проигрыш, рассматриваются все возможные ходы игрока. Показано, что для любого хода первого игрока у второго игрока в этой ситуации имеется выигрышная стратегия.

Построение полной таблицы избыточно. Нетрудно видеть, что второй игрок выигрывает для значений S, удовлетворяющих следующему условию: S = 17 – 3 * k;  (0 <=k <=5)

Для остальных значений S выигрывает первый игрок.

< Лекция 3 || Лекция 4: 1234
Мария Паршикова
Мария Паршикова
Александр Коротенко
Александр Коротенко
Курс "Подготовка к ЕГЭ по информатике". Знаю, что ответ верный, но система его не принимает. Пытался ввести его в разных формах (строчные, прописные, все, одна и т.д.)