标签:
每组数据为一行一个整数n(小于等于1000),为数组成员数,如100,则对a[999]进行计算。
一行输出最后一个被删掉的数的原始下标位置。
8
6
#include<iostream> #include<list> using namespace std; int main() { int M=2; int N; while(cin>>N) { list<int> lst; for(int i=0;i<N;i++) { lst.push_back(i); } list<int>::iterator iter=lst.begin(); while(lst.size()>1) { if(iter==lst.end()) iter=lst.begin(); for(int i=0;i<M;i++) { iter++; if(iter==lst.end()) iter=lst.begin(); } /* list<int>::iterator next=iter++; if(next==lst.end()) next=lst.begin(); iter--;*/ iter=lst.erase(iter); } cout<<lst.front()<<endl; } return 0; }
标签:
原文地址:http://www.cnblogs.com/qiaozhoulin/p/5746497.html