卡牌游戏
| Time Limit: | 1000MS | Memory Limit: | 65536KB |
|---|---|---|---|
| Total Submissions: | 101 | Accepted: | 67 |
Description:
桌上有一叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为 1~n (<=100)。当至少还剩两张牌时进行以下操作:把第一张牌扔掉,然后把新的第一张放到整叠的最后。输入 n,输出每次扔掉的牌,以及最后剩下的牌。
Input:
只有一组测试数据,文件第一行为正整数n(n<=100),代表卡牌数量。
Output:
输出一行,输出每次扔掉的牌,以及最后剩下的牌,每个数字后面一个空格。
Sample Input:
7
Sample Output:
1 3 5 7 4 2 6
Source:
#include<stdio.h>
const int N=105;
int queue[N<<1];
int main()
{
int n,front,rear;
while(scanf("%d",&n)==1)
{
front=0;
rear=n;
for(int i=0;i<n;i++)
queue[i]=i+1;
while(front<rear)
{
printf("%d ",queue[front++]);
queue[rear++]=queue[front++];
}
}
return 0;
}
\
\