文章

65

粉丝

25

获赞

670

访问

24.8k

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

#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;
}

登录查看完整内容


登录后发布评论

1 条评论
simple_bright_
2025年3月22日 20:17

牛逼

赞(0)