hdu_1276士兵队列训练问题

Posted bxynlbyx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu_1276士兵队列训练问题相关的知识,希望对你有一定的参考价值。

 1 #include<iostream>
 2 #include<list>
 3 using namespace std;
 4 int main(){
 5     int t,n;
 6     cin>>t;
 7     while(t--){
 8         cin>>n;
 9         int k=2;
10         list<int>mylist;
11         list<int>::iterator it;
12         for(int i=1;i<=n;i++)
13             mylist.push_back(i);   //赋值,最后输出原始编号
14         while(mylist.size()>3){
15             int num=1;
16             for(it=mylist.begin();it!=mylist.end();){
17                 if(num++%k==0)
18                     it=mylist.erase(it);
19                 else it++;
20             }
21             k==2?k=3:k=2;
22         }
23         for(it=mylist.begin();it!=mylist.end();it++){
24             if(it!=mylist.begin())
25                 cout<<" ";
26             cout<<*it;
27         }
28         cout<<endl;    
29     }
30     return 0;
31 }

注:使用双向链表list

以上是关于hdu_1276士兵队列训练问题的主要内容,如果未能解决你的问题,请参考以下文章

hdu-1276 士兵队列训练问题

hdu1276士兵队列训练问题[简单STL list]

HDU - 1276士兵队列训练问题 (报数问题 模拟)

hdu1276(士兵队列训练问题) java集合水过

Problem1276 士兵队列训练问题

hdu 1276士兵队列问题queue