UVa 10935-卡片游戏

分析:又是一个模拟队列的一个题,水题。
但是此题有一个巨坑,那便是测试数据n为1时,第一行只输出Discarded cards:(后面什么都没有),
还有就是注意输出的格式,每个数字前都有一个空格,最后一个数字后面什么都没有

代码如下:
#include <cstdio>
int a[55];
int main()
{
    int n;
    while (scanf("%d",&n)==1&&n)
    {
        for (int i=0;i<n;i++)
            a[i]=i+1;
        int f=0,r=n-1;
        if (n==1)
        {
            printf("Discarded cards:\n");
            printf("Remaining card: %d\n",a[f]);
        }
       else
       {
            printf("Discarded cards: ");
            while (f<r-1)
            {
                printf("%d, ",a[f++]);
                a[++r]=a[f++];
            }
            printf("%d\n",a[f]);
            printf("Remaining card: %d\n",a[r]);
       }
    }
    return 0;
}

你可能感兴趣的:(uva,10935)