> 文章列表 > 游戏(2017-12)

游戏(2017-12)

游戏(2017-12)

 

这边注意用erase删除元素时对最后一个元素的处理,迭代要先指向begin再earse

 

#include<bits/stdc++.h>
using namespace std;
int n,k;
vector<int>q;
int main(){cin>>n>>k;for(int i=1;i<=n;i++){q.push_back(i);}int m;vector<int>::iterator it;it=q.begin();m=1;while(q.size()!=1){while(1){if(m%k==0||m%10==k)break;if(it+1==q.end()){it=q.begin();m++;continue;}it++;m++;}if(it!=q.end()-1)q.erase(it);else{it=q.begin();q.erase(q.end()-1);}m++;}cout<<q[0];
}