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

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

#include 
#include 
using namespace std;


int main(){
    
    vector 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()<

你可能感兴趣的:(2019-05-05 约瑟夫问题STL vector解法)