文章

43

粉丝

24

获赞

293

访问

6.6k

头像
猴子报数 题解:利用vector容器
P1081 兰州大学/湖南大学机试题
发布于2025年2月10日 15:26
阅读数 238

#include <bits/stdc++.h>
using namespace std;
    int main(){
    int n,s,m;//s个猴子开始报数,第m个猴子退出报数
    while(cin>>n>>s>>m){
        if(n==0)break;
        vector<int>a(n);
        for(int i=0;i<n;i++)
            a[i]=i+1;
        s=s-1;m=m-1;//猴子对应的数组下标,全部用下标来思考 
        while(a.size()>1){
            s=(s+m)%a.size();//直接找到要出队的猴子 
            cout<<a[s]<<",";
            a.erase(a.begin()+s);//s为要删除元素的下标 
        }
        cout<<a[0]<<endl;
    }
    return 0;
}

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发