文章

38

粉丝

11

获赞

2

访问

17.4k

头像
用vector每次用erase删除表演的小朋友
P1018 贵州大学机试题
发布于2024年9月1日 17:32
阅读数 655

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin >> n;
    vector<int> a;
    for(int i = 1;i <= n;i++) a.push_back(i);
    int i,cnt = 0,s = 0;
    while(a.size() > 1){

        for(i = s;i < a.size();i++){
            cnt++;
            if(cnt % 3 == 0){
                a.erase(a.begin() + i);
                cnt = 0;
                break;
            }
        }
        if(i >= a.size()) s = 0;
        else s = i;
    }
    cout << a.front() << endl;
    return 0;
}
 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发