UVa10935(队列) Throwing cards away I

来源:互联网 发布:淘宝怎么查看开店时长 编辑:程序博客网 时间:2024/05/23 12:24

水题。
使用队列,一开始脑子浆糊了,没有考虑输入1的情况。
不说了,上代码

#include<iostream>#include<queue> using namespace std; queue<int> q;int main(){    int n;    while(scanf("%d",&n)!=EOF &&n)    {        while(!q.empty())            q.pop();        for(int i=1;i<=n;i++)            q.push(i);        printf("Discarded cards:");        while(q.size()>2)        {            printf(" %d,",q.front());            q.pop();            q.push(q.front());            q.pop();        }        if(q.size()==2)            {            printf(" %d",q.front());            q.pop();            }        printf("\nRemaining card: %d\n",q.front());         }    return 0;}