misc#P25025. 请输入文本
请输入文本
题目描述
小远和小涛在玩一个游戏,游戏规则是这样的:
- 首先,他们把 个相同的球分成 堆,第 堆小球数量为 。
- 接着,每轮他们会从每堆中取出一个球,并将这些取出的球组成一个新的堆。
例如:初始有 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
相关
在下列比赛中: