美文网首页
2019-05-05 约瑟夫问题STL vector解法

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

作者: YKDog | 来源:发表于2019-05-05 14:25 被阅读0次

    利用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;
    } 
    

    相关文章

      网友评论

          本文标题:2019-05-05 约瑟夫问题STL vector解法

          本文链接:https://www.haomeiwen.com/subject/xzacoqtx.html