题目描述
贝西与其他的 N-1 头奶牛围成一圈玩纸牌游戏。已知一副纸牌有 K (K 为 N 的倍数)张,其中有K/N 张“好牌”。贝茜是游戏的发牌者,发牌规则如下:
1)、贝茜把牌堆的最上面一张发给她右边的奶牛;
2)、每当贝茜发完一张牌,她都得将牌堆顶部 P 张牌放到底部去(一般把这个操作称为切牌);
3)、然后,贝茜对逆时针方向的下一头奶牛重复上述的操作。
贝茜想把所有好牌都留给自己,于是她找到了你,希望你能告诉她,将“好牌”放在初始牌堆的哪些位置,才能确保它们在发完牌后全集中到贝茜的手里。
注意:我们把牌堆顶的牌定义为 1 号牌,从上往下第二张定义为 2 号牌,依此类推。
输入格式
输入包含 3 个用空格隔开的整数:N、K 以及P 。
输出格式
一行,包含 M 个整数,表示贝茜应该在初始牌堆的这个位置放一张好牌。所有的位置按升序输出。
样例
输入样例
3 9 2
输出样例
3 7 8
数据范围与提示
1<=N<=100
N<=K<=100000
#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
int main(){
int n,k,p,num[1000000],times=0;
queue<in