1、队列的简单使用。
//#define LOCAL
#include<iostream>
#include<array>
#include<queue>
#include<cmath>
#include<ctime>
using namespace std;
queue<int> s,s0;
int main(){
#ifdef LOCAL
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
int n;
while (cin >> n&&n){
s = s0; //将s清空
for (int i = 0; i<n; i++) s.push(i + 1);
cout << "Discarded cards:";
for (;;){
if (s.size()>1){
cout <<" "<< s.front();
if (s.size() > 2) cout << ",";
s.pop();
s.push(s.front());
s.pop();
}
if (s.size() == 1){
cout << "\n";
cout << "Remaining card: " << s.front() << "\n";
break;
}
}
}
//printf("Time used=%.3f\n", (double)clock() / CLOCKS_PER_SEC);
return 0;
}