hdu---1276 士兵队列训练问题
2015-01-26 08:58
260 查看
昨天学妹来问我题,我一看就瞢了,这来回排序,序号不早就改变了吗?晚上又回去看了一会,原来使用队列,好长时间切题不用栈和队列了。
这道题的思想就是反复的入队,出队;奇数次的时候,所有喊道2的出队,剩下的喊到三的时候出队,反复循环,直到人的个数<3;
[align=left]Problem Description[/align]
某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。
[align=left]Input[/align]
本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。
[align=left]Output[/align]
共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。
[align=left]Sample Input[/align]
2
20
40
[align=left]Sample Output[/align]
1 7 19
1 19 37
这道题的思想就是反复的入队,出队;奇数次的时候,所有喊道2的出队,剩下的喊到三的时候出队,反复循环,直到人的个数<3;
[align=left]Problem Description[/align]
某部队进行新兵队列训练,将新兵从一开始按顺序依次编号,并排成一行横队,训练的规则如下:从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数。。。,以后从头开始轮流进行一至二报数、一至三报数直到剩下的人数不超过三人为止。
[align=left]Input[/align]
本题有多个测试数据组,第一行为组数N,接着为N行新兵人数,新兵人数不超过5000。
[align=left]Output[/align]
共有N行,分别对应输入的新兵人数,每行输出剩下的新兵最初的编号,编号之间有一个空格。
[align=left]Sample Input[/align]
2
20
40
[align=left]Sample Output[/align]
1 7 19
1 19 37
#include<stdio.h> #include<queue> #include<iostream> using namespace std; queue<int> s,t; void cmp(int k) { int i=1; while(!s.empty()) { if(i%k!=0) t.push(s.front()); s.pop(); i++; } } void cmp1(int k) { int i=1; while(!t.empty()) { if(i%k!=0) s.push(t.front()); t.pop(); i++; } } int main() { int x; while(scanf("%d",&x)!=EOF) { int n,i; while(x--) { scanf("%d",&n); for(i=1;i<=n;i++) s.push(i); i=1; while(s.size()>3||t.size()>3) { if(i%2) cmp(2); else cmp1(3); i++; } i=0; while(!s.empty()) { if(i) printf(" "); i=1; printf("%d",s.front()); s.pop(); } while(!t.empty()) { if(i) printf(" "); i=1; printf("%d",t.front()); t.pop(); } printf("\n"); } } return 0; }
相关文章推荐
- HDU 1276 士兵队列训练问题(队列)
- ACM学习历程—HDU 1276 士兵队列训练问题(队列)
- hdu 1276 士兵队列训练问题
- HDU 1276 士兵队列训练问题
- hdu 1276 士兵队列训练问题
- HDU 1276 士兵队列训练问题
- hdu 1276 士兵队列训练问题
- hdu,1276,士兵队列训练问题
- HDU 1276 士兵队列训练问题
- HDU 1276 士兵队列训练问题
- HDU 1276 士兵队列训练问题
- 士兵队列训练问题(HDU 1276)
- HDU 1276 士兵队列训练问题 标记
- 士兵队列训练问题http://acm.hdu.edu.cn/showproblem.php?pid=1276
- HDU 1276 士兵队列训练问题
- hdu_1276 士兵队列训练问题
- HDU 1276 士兵队列训练问题 解题心得
- hdu 1276 士兵队列训练问题
- hdu - 1276 士兵队列训练问题 - 简单模拟
- hdu-1276-士兵队列训练问题