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

利用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;
} 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容