河南省第六届程序设计大赛--Card Trick
来源:互联网 发布:全球卫星直播软件安卓 编辑:程序博客网 时间:2024/04/26 06:10
Card Trick
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
The magician shuffles a small pack of cards, holds it face down and performs the following procedure:
- The top card is moved to the bottom of the pack. The new top card is dealt face up onto the table. It is the Ace of Spades.
- Two cards are moved one at a time from the top to the bottom. The next card is dealt face up onto the table. It is the Two of Spades.
- Three cards are moved one at a time…
- This goes on until the nth and last card turns out to be the n of Spades.
This impressive trick works if the magician knows how to arrange the cards beforehand (and knows how to give a false shuffle). Your program has to determine the initial order of the cards for a given number of cards, 1 ≤ n ≤ 13.
- 输入
- On the first line of the input is a single positive integer k, telling the number of test cases to follow. 1 ≤ k ≤ 10 Each case consists of one line containing the integer n. 1 ≤ n ≤ 13
- 输出
- For each test case, output a line with the correct permutation of the values 1 to n, space separated. The first number showing the top card of the pack, etc…
- 样例输入
2
4
5
- 样例输出
2 1 4 3
3 1 4 5 2
#include <iostream>#include <queue>using std::endl;using std::cout;using std::cin;using std::queue;int main(){//data 用来保存最后得到的序列int data[13];queue<int> q;int K;cin >> K;while(K--){int m;cin >> m;for(int i=0; i<m; ++i){q.push(i);}for(int i=0;i<m;++i){//cnt用来记录每次需要移动的数量int cnt = i+1;while(cnt--){//temp用来记录每次队列中队首的元素int temp = q.front();q.pop();q.push(temp);}//队列中的元素进行移动过后队首的元素就是排列中的一个元素的下标data[q.front()] = i+1;//此时得到排列中的一个坐标后就将其删去q.pop();}//输出最后的排列for(int i=0; i<m; ++i){cout << data[i] << " ";}cout << endl;}system("pause");return 0;}
0 0
- 河南省第六届程序设计大赛--Card Trick
- nyoj714 Card Trick(第六届河南省程序设计大赛)
- 河南省第六届大学生程序设计竞赛--Card Trick
- 河南省第六届大学生程序设计竞赛 F Card Trick
- 第六届河南省程序设计大赛
- 第六届河南省程序设计大赛
- 第六届acm河南省赛——Card Trick 模拟
- 第六届河南省赛 zzulioj 1486: Card Trick (模拟)nyoj 714
- 河南省第六届程序设计大赛——异形卵
- nyoj 716 River Crossing 第六届河南省程序设计大赛
- 第五届河南省程序设计大赛
- 第三届河南省程序设计大赛
- 第四届河南省程序设计大赛
- 第五届河南省程序设计大赛
- 第七届河南省程序设计大赛
- 第八届河南省程序设计大赛
- 第六届ACM省赛 Card Trick
- NYOJ - 716 - River Crossing --第六届河南省程序设计大赛 (简单DP!!)
- 翻纸牌 高校俱乐部 英雄会 csdn
- GET POST方法
- MFC对话框贪吃蛇小游戏
- Eclipse开发环境设置
- 从屏幕底部滑出Dialog
- 河南省第六届程序设计大赛--Card Trick
- jQuery插件开发
- ios学习临时笔记-NSLocalizedString使用
- Java中的多线程(三)之线程间的通信
- 恢复受损的Windows系统
- NSDictionary 取值的方法
- 计算机的一些特性
- gpg初次尝试
- C++ static、const和static const 以及它们的初始化