游戏(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];
}