请输入文本
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
小远和小涛在玩一个游戏,游戏规则是这样的:
- 首先,他们把 个相同的球分成 堆,第 堆小球数量为 。
- 接着,每轮他们会从每堆中取出一个球,并将这些取出的球组成一个新的堆。
例如:初始有 4 个小球,分成 3 堆,每堆球数分别为 1, 1, 2,第一轮从每堆中取出一个球,得到 3 个球,将它们组成一个新的堆,此时局面为 0, 0, 1, 3,移除 0 堆,局面为1, 3,同理,第二轮后局面为 2, 2,第三轮后局面为 1, 1, 2,……
众所周知这个游戏是可以无限进行下去的。且经过几轮游戏,他们的局面可能陷入循环。循环中的局面个数称为循环长度(局面是否重复只和小球堆数和每堆球数有关,与顺序无关),比如刚刚的例子循环长度为 3。
小远向小涛提出一个问题:
给定小球个数 和循环长度 ,问是否存在一个初始局面,使得游戏陷入长度为 的循环?(如果多个答案,求出堆数 最小的那个,如仍有多个答案,求出字典序最小的那个)。小远和小涛急着去跑阳光长跑了,于是他们决定请你来解决这个问题。
输入格式
第一行一个正整数 ( ) ,表示测试数据的组数。
接下来每行两个正整数 ( ) 和k ( ) ,表示球的数量和循环长度。
输出格式
对于每组数据,输出一行,如果存在这样的初始局面,输出这个初始局面各堆球数,每个数字间用空格隔开;否则输出一个 。
3
1 1
2 1
3 1
1
-1
3
2025 “钉耙编程”中国大学生算法设计暑期联赛(1)
- 状态
- 已结束
- 规则
- XCPC
- 题目
- 12
- 开始于
- 2025-7-18 12:00
- 结束于
- 2025-7-18 17:00
- 持续时间
- 5 小时
- 主持人
- 参赛人数
- 0