#P3509. 取牌游戏
取牌游戏
题目描述
小明正在使用一堆共 张纸牌与 个朋友玩取牌游戏。其中 ,, 是 的倍数。纸牌中包含 张 “good” 牌和 张 “bad” 牌。小明负责发牌,他当然想自己获得所有 “good” 牌。
他的朋友怀疑他会欺骗,所以他们给出以下一些限制,以防小明耍诈:
- 游戏开始时,将最上面的牌发给小明右手边的人。
- 每发完一张牌,他必须将接下来的 张牌()一张一张地依次移到最后,放在牌堆的底部。
- 以逆时针方向,连续给每位玩家发牌。
小明迫切想赢,请你帮助他算出所有 “good” 牌放置的位置,以便他得到所有 “good” 牌。牌从上往下依次标注为 #1,#2,#3,…
输入格式
一行,三个用一个空格隔开的正整数 。
输出格式
输出共 行,每行一个整数,从顶部按升序依次输出 “good” 牌的位置。
样例
3 9 2
3
7
8
样例解释
共有 人(小明和他的两个朋友), 张牌,每发完一张牌后需移动 张牌到牌堆底部。发牌顺序为:小明右手边的朋友 → 小明左手边的朋友 → 小明,如此循环。初始牌堆从上到下依次为 #1, #2, …, #9。
模拟发牌过程如下:
- 给第一位朋友发牌:发牌顶 #1,移动 #2、#3 到底部。牌堆变为 #4, #5, #6, #7, #8, #9, #2, #3。
- 给第二位朋友发牌:发牌顶 #4,移动 #5、#6 到底部。牌堆变为 #7, #8, #9, #2, #3, #5, #6。
- 给小明发牌:发牌顶 #7,移动 #8、#9 到底部。小明得到 #7。牌堆变为 #2, #3, #5, #6, #8, #9。
- 给第一位朋友发牌:发牌顶 #2,移动 #3、#5 到底部。牌堆变为 #6, #8, #9, #3, #5。
- 给第二位朋友发牌:发牌顶 #6,移动 #8、#9 到底部。牌堆变为 #3, #5, #8, #9。
- 给小明发牌:发牌顶 #3,移动 #5、#8 到底部。小明得到 #3。牌堆变为 #9, #5, #8。
- 给第一位朋友发牌:发牌顶 #9,移动 #5、#8 到底部。牌堆变为 #5, #8。
- 给第二位朋友发牌:发牌顶 #5,移动 #8 到底部(牌堆中仅剩一张,移动后不变)。牌堆变为 #8。
- 给小明发牌:发牌顶 #8,此时牌堆已空。小明得到 #8。
小明最终得到的三张牌为 #7、#3、#8,因此 “good” 牌应放在位置 3、7、8。按升序输出即为 3、7、8。
数据范围
- ,且 是 的倍数