已结束 COCR 提高赛 #1

A4763 | 石子の游戏

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

我是自愿玩这个游戏的……?


数学研究院看 FM 骨骼精奇,所以 FM 被迫加入了一个石子游戏。一堆石子有 $N$ 颗,两名玩家轮流拿取,每次至少拿取 $1$ 颗,至多拿取 $M$ 颗,拿走最后一颗石子后游戏结束,拿走最后一颗石子的人可以获得本场游戏的胜利。

当然,这场游戏怎么可能这么快!两名玩家需要依次储存自己每轮拿走的石子,在最后的时候展示出自己的每轮拿出石头,研究院需要分析出规律。

由于本场游戏的胜者有高达 $666$ 元的奖金,请你帮助 FM 找出必胜(或必败)的关键。请注意,由于是研究院,挑选的玩家都足够聪明。当然,如果某一方知道自己必败,他就会随意拿取。

输入格式

输入仅一行 $2$ 个整数 $N,M$,分别表示石子的总数和玩家最多能拿取的石子数量。

输出格式

输出共若干行:

第一行输出一个字符串,表示游戏的胜者。若先手胜利则输出 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
C++ 编辑器
输入
输出