首页 > 代码库 > 1704 卡片游戏
1704 卡片游戏
1704 卡片游戏
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 白银 Silver
题目描述 Description
桌面上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1~n.当至少还剩两张排时进行一下操作:把第一张牌扔掉,然后把新的第一张牌放到整叠牌的最后。输入n。输出每次扔掉的牌,以及最后剩下的牌。。
输入描述 Input Description
输入n
输出描述 Output Description
输出每次扔掉的牌,以及最后剩下的牌
样例输入 Sample Input
7
样例输出 Sample Output
1 3 5 7 4 2 6
本来在做图论题,没想到蹦出个这个来,呵呵
水题,一个队列就能搞定。
#include<iostream>#include<queue>#include<cstdio>using namespace std;int n,t,num=0;queue<int>a;inline int read(){ int x=0,f=1;char ch=getchar(); while(ch>‘9‘||ch<‘0‘){if(ch==‘-‘)f=-1;ch=getchar();} while(ch<=‘9‘&&ch>=‘0‘){x=x*10+ch-‘0‘;ch=getchar();} return x*f;}int main(){ n=read(); for(int i=1;i<=n;i++) a.push(i); while(num<n-1) { printf("%d ",a.front()); a.pop(); t=a.front(); a.pop(); a.push(t); num++; } printf("%d\n",a.front()); return 0;}
1704 卡片游戏
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。