//士兵队列训练问题,运用list及其迭代器
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int k=2;
list <int> mylist;
list <int>::iterator it;
for(int i=1;i<=n;++i){
mylist.push_back(i);
}
while(mylist.size()>3){
int num=1;
for(it=mylist.begin();it!=mylist.end();){
if((num++)%k==0){
it=mylist.erase(it);
}else it++;
}
k==2?k=3:k=2;
}
for(it=mylist.begin();it!=mylist.end();++it){
cout<<*it<<" ";
}
}
//士兵队列训练问题,运用list及其迭代器(hdu_1276)
最新推荐文章于 2022-12-09 23:10:55 发布