Throwing cards away I UVA - 10935
2018-02-09 17:45
411 查看
题目链接:Throwing cards away I UVA - 10935
题目:桌上有n(n<=50)n(n<=50)张牌,从第一张开始(即位于顶面的牌)开始,从上往下一次编号为1~nn。当至少剩下两张牌时进行以下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后。输入一行包含一个nn,输出每次扔掉的牌以及最后剩下的牌。
题目:桌上有n(n<=50)n(n<=50)张牌,从第一张开始(即位于顶面的牌)开始,从上往下一次编号为1~nn。当至少剩下两张牌时进行以下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后。输入一行包含一个nn,输出每次扔掉的牌以及最后剩下的牌。
#include<iostream> #include<string> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include<queue> #include<stack> #include<map> #include<vector> #include<iomanip> #include<set> #include<sstream> #define ll long long using namespace std; int k; int cp(int n) { queue<int> pp; int vis[100], c = 0; for(int i = 1; i <= n; i++) pp.push(i); while(!pp.empty()) { vis[c++] = pp.front(); pp.pop(); if(!pp.empty()) { int cs; cs = pp.front(); pp.pop(); pp.push(cs); } } if(n>1) printf(" %d",vis[0]); for(int i = 1; i < n - 1; i++) printf(", %d",vis[i]); cout << endl; return vis[n-1]; } int main() { while(1) { scanf("%d",&k); if(k == 0) break; printf("Discarded cards:"); printf("Remaining card: %d\n",cp(k)); } return 0; }
相关文章推荐
- UVa10935-Throwing cards away I-卡片游戏-队列的运用
- UVa 10935 - Throwing cards away I
- UVA - 10935 Throwing cards away I
- UVa 10935 Throwing cards away I【队列】
- UVA 10935 - Throwing cards away I
- UVA 10935 Throwing Cards Away I 卡片游戏
- UVA10935 Throwing cards away I【模拟+queue+循环队列】
- UVa 10935 - Throwing cards away I
- uva 10935 Throwing cards away I
- UVA 10935 - Throwing cards away I
- UVa 10935 - Throwing cards away I
- 卡片游戏(Throwing cards away I,UVa 10935)
- UVa 10935 - Throwing cards away I
- UVA -10935-卡片游戏-Throwing cards away
- UVA 10935 Throwing cards away I 【数据结构】【模拟】
- UVa 10935 - Throwing cards away I
- UVa 10935 Throwing cards away I
- Uva 10935 Throwing cards away I
- UVA_10935: Throwing cards away I
- uva 10935 throwing cards away <queue>