题解:队列应用裸题
#include<cstdio>
#include<queue>
using namespace std;
int n,m;
int main(){
queue<int>qu;
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++){
qu.push(i);//初始化队列
}
int count=0;//记录报的数
while(!qu.empty()){//所有人出队停止报数
count++;
int x=qu.front();//获取队首人的编号
//printf("%d ",count);
qu.pop();//出队伍
if(count!=m){//没有报到三去队尾排队
qu.push(x);
}else{
count=0;//报数器置零
printf("%d ",x);//输出报到三的人
}
}
return 0;
}