队列的简单应用,PE了两次。
#include<iostream>
#include<queue>
using namespace std;
int main() {
    int n;
    while(cin >> n&& n) {
        bool sign = false;
        queue<int> q;
        for(int i = 1; i <= n; i++)
            q.push(i);
        cout << "Discarded cards:";
        while(q.size() != 1) {
            sign ? cout << ", " : cout << " ";
            sign = true;
            cout << q.front();
            q.pop();
            if(q.size() == 1)
                break;
            q.push(q.front());
            q.pop();
        }
        cout << endl << "Remaining card: " << q.front() << endl;
    }
    return 0;
}
                    
                
                
            
        
浙公网安备 33010602011771号