A4763 | 石子の游戏
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
我是自愿玩这个游戏的……?
数学研究院看 FM 骨骼精奇,所以 FM 被迫加入了一个石子游戏。一堆石子有 $N$ 颗,两名玩家轮流拿取,每次至少拿取 $1$ 颗,至多拿取 $M$ 颗,拿走最后一颗石子后游戏结束,拿走最后一颗石子的人可以获得本场游戏的胜利。
当然,这场游戏怎么可能这么快!两名玩家需要依次储存自己每轮拿走的石子,在最后的时候展示出自己的每轮拿出石头,研究院需要分析出规律。
由于本场游戏的胜者有高达 $666$ 元的奖金,请你帮助 FM 找出必胜(或必败)的关键。请注意,由于是研究院,挑选的玩家都足够聪明。当然,如果某一方知道自己必败,他就会随意拿取。
输入格式
输入仅一行 $2$ 个整数 $N,M$,分别表示石子的总数和玩家最多能拿取的石子数量。
输出格式
输出共若干行:
第一行输出一个字符串,表示游戏的胜者。若先手胜利则输出
接下来输出若干行,表示第 $i$ 个回合的玩家可能拿取的石子数量,以空格分隔。
注意:当 $i$ 为奇数时输出先手的所有拿取方案,为偶数时输出后手的所有拿取方案,输出顺序为第 $1$ 轮先手拿取的石子数量非降序排列(相同则按照第 $2$ 轮后手拿取的石子数量非降序排列,以此类推),同一列为同一种方案。
第一行输出一个字符串,表示游戏的胜者。若先手胜利则输出
first,否则输出 second;接下来输出若干行,表示第 $i$ 个回合的玩家可能拿取的石子数量,以空格分隔。
注意:当 $i$ 为奇数时输出先手的所有拿取方案,为偶数时输出后手的所有拿取方案,输出顺序为第 $1$ 轮先手拿取的石子数量非降序排列(相同则按照第 $2$ 轮后手拿取的石子数量非降序排列,以此类推),同一列为同一种方案。
输入输出样例
输入 #1
6 2
输出 #1
second 1 1 2 2 2 2 1 1 1 2 1 2 2 1 2 1
输入 #2
9 4
输出 #2
first 4 4 4 4 1 2 3 4 4 3 2 1
输入 #3
10 3
输出 #3
first 2 2 2 2 2 2 2 2 2 1 1 1 2 2 2 3 3 3 3 3 3 2 2 2 1 1 1 1 2 3 1 2 3 1 2 3 3 2 1 3 2 1 3 2 1
【数据范围】
对于所有的测试数据,保证:
$1\le M\le N\le10^3$,$N-M\le10$
本题测试点等分。
【样例解释】
本题无样例解释。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?