|
Menu |
|
Задача Джекпот
| Файл входного файла: | jackpot.in |
|---|---|
| Файл выходного файла: | jackpot.out |
| Ограничение по памяти: | 64 MB |
| Ограничение по времени: | 1 s |
Описание
Вы являетесь одним из организаторов популярной телевизионной игры, в которой один из участников дошел до финального конкурса. В случае победы в этом конкурсе, он должен получить огромную сумму денег. Но проблема в том, что у Вас нет достаточного количества денежных средств, чтобы выплатить призовой фонд, поэтому необходимо не допустить выигрыш участника.
В чем же заключается конкурс? Участнику предлагается несколько игровых столов, из которых он выбирает любой, а затем делает первый ход в игре, правила которой будут описаны ниже. В случае его победы в игре, он побеждает в конкурсе и получает призовой фонд. Следует заметить, что соперником участника является “мастер игры”, играющий по оптимальной стратегии (то есть стратегии, позволяющей ему выиграть при любых ходах соперника, если это возможно для данной игры).
На игровом столе лежит некоторое количество палочек. Два игрока делают ходы по очереди. При каждом ходе игрок вытягивает некоторое число палочек. Это число должно не превышать m и лежать в интервале от 1 до (m 2 mod k) + 1, где a mod b _ остаток от деления a на b, m – число палочек, оставшихся на столе, а k _ некоторое число. (Эту формулу в свое время придумали Вы и очень этим горды). Игрок, вытягивающий последнюю палочку, проигрывает.
Так, например, если k = 3, а палочек на столе 5, то вы можете вытянуть одну либо две палочки, так как (5 2 mod 3) + 1 равно 2. Вытянув две палочки, вы оставите соперника с единственным вариантом хода, ибо он сможет вытянуть только одну палочку (так как (3 2 mod 3) + 1 = 1).
У Вас есть n палочек, которые вы должны полностью распределить по игровым столам. Все игровые столы должны содержать различное число палочек, и игровых столов должно быть, по крайней мере, два, так как вы должны предоставить участнику выбор. Также вы не можете составить игру из одной палочки, так как это очевидно проигрышная для частника игра. Ну и самое главное условие, которое Вам необходимо выполнить: какой бы игровой стол ни выбрал участник, и как бы он ни играл, .мастер игры., пользующийся оптимальной стратегией, должен выиграть.
Формат входных данных
В единственной строке записаны целые числа n (5 <= n <= 1000) и k (2 <= k <= 1000), разделенные пробелом.
Формат выходных данных
В случае невозможности формирования выигрышного для вас набора игр выходной файл должен содержать единственную строку, в которой записано число 0. В противном случае в первой строке файла должно находится число x – количество сформированных игровых столов, а во второй строке – x различных чисел, разделенных пробелом – количество палочек на каждом из игровых столов (числа могут находиться в произвольном порядке). В случае множества вариантов ответа, вывести любой из них.
Примеры:
| ввод | вывод |
|---|---|
|
9 3 |
2
|
|
|
|
|
5 2 |
0 |
|
|
|
Difficulty: 0.866620013996
Accepted: 5
Submitted: 12
Источник задачи: МОСКОВСКИЕ УЧЕБНО-ТРЕНИРОВОЧНЫЕ СБОРЫ ПО ИНФОРМАТИКЕ. Весна – 2006
Powered by django, eJudge.
Обсуждение:
Начать обсуждение: