Accepted solution

UVA 10935 - Throwing cards away I Solution in C++

Open original problem
Source code

#include<iostream>

#include<queue>

using namespace std;

int main()

{

    int n;

    queue< int >deck;

    while(cin>>n)

    {

        if(n==0)

        {

          break;

        }

        for(int i=1; i<=n; i++)

        {

            deck.push(i);

        }

        cout<<"Discarded cards:";

        while(deck.size()>1)

        {

            cout<<' '<<deck.front();

            deck.pop();

            int last = deck.front();

            deck.pop();

            if(deck.size()>=1)

            {

              cout<<',';

            }

            deck.push(last);

        }

        cout<<endl;

        cout<<"Remaining card: "<<deck.front()<<endl;

        deck.pop();

    }

}
Join the discussion

Add your comment