2019-05-05 约瑟夫问题STL vector解法

2019-05-05  本文已影响0人  YKDog

利用STL 标准模板库中的vector或者list实现约瑟夫问题

#include <iostream>
#include <vector>
using namespace std;


int main(){
    
    vector<int> a;
    int n, x, m;
    cin >> n;
    cin >> m;
    
    for(int i = 0; i < n;i++){
        cin >> x;
        a.push_back(x);
    }
    
    int res=n;
    int cnt = 0;
    while(res>1){
        
        cnt++;
        if(cnt != m){
            a.push_back(a.front());
            a.erase(a.begin());
        } else {
            a.erase(a.begin());
            cnt=0;
            res--;
        }
    }
    
    cout << a.front()<<endl;
    return 0;
} 
上一篇下一篇

猜你喜欢

热点阅读