题目描述
输入
第一行,三个用空格间隔的整数: N,K,P
输出
M 行,从顶部按升序依次输出 “good” 牌的位置
样例输入 Copy
3 9 2
样例输出 Copy
3 7 8
#include<bits/stdc++.h>
using namespace std;
queue<int> q;
int m,n,k,p;
int c,cnt=1,t;
int a[10000010];
int main()
{
cin>>n>>k>>p;
for(int i=1;i<=k;i++) q.push(i);
for(int i=0;i<k;i++)
{
q.pop();
cnt++;
for(int j=0;j<p;j++)
{
q.push(q.front());
q.pop();
}
if(cnt==n)
{
// cout<<q.front()<<endl;
a[t]=q.front();
t++;
cnt=0;
}
}
sort(a,a+t);
for(int i=0;i<t;i++)
cout<<a[i]<<endl;
return 0;
}
//110111001 123456789
//11100110 1/ 45678923
//0011011 1. 7892356
//101101 0 235689
//10101 1/ 68935
//0101 1. 3589
//110 0 958
//10 1/58
//0 8