UVa 10935 (水题) Throwing cards away I

时间:2023-03-09 13:13:35
UVa 10935 (水题) Throwing cards away I

直接用STL里的queue模拟即可。

 #include <cstdio>
#include <queue>
using namespace std; const int maxn = ;
int discarded[maxn], cnt; int main()
{
int n;
while(scanf("%d", &n) == && n)
{
cnt = ;
queue<int> Q;
for(int i = ; i <= n; i++) Q.push(i);
while(Q.size() >= )
{
discarded[cnt++] = Q.front(); Q.pop();
int t = Q.front(); Q.pop(); Q.push(t);
}
printf("Discarded cards:");
for(int i = ; i < cnt; i++)
{
if(i) printf(",");
printf(" %d", discarded[i]);
}
printf("\n");
printf("Remaining card: %d\n", Q.front());
} return ;
}

代码君