NOIP20

报数
有 nn 个小朋友做游戏,他们的编号分别是 1,2,3…n1,2,3…n。他们按照编号从小到大依次顺时针围成一个圆圈,从第一个小朋友开始从 11 报数,依次按照顺时针方向报数(加一),报 mm 的人会离开队伍,然后下一个小朋友会继续从 11 开始报数,直到只剩一个小朋友为止。

输入格式
第一行输入两个整数,nn,mm。(1 \leq n,m \leq 10001≤n,m≤1000)

输出格式
输出最后一个小朋友的编号,占一行。

样例输入复制
10 5
样例输出复制
3

#include<iostream>
#include<queue>
using namespace std;
int main(){
    int n,m;
    cin>>n>>m;
    queue<int> v;
    for(int i=1;i<=n;++i)    v.push(i);
    for(int i=1;v.size()!=1;i=(i+1)%m){
        if(i!=0)    v.push(v.front());
        v.pop();
    }
    cout<<v.front();
}
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页