#include <iostream>
using namespace std;
struct List
{
int k;
List *p;
};
int main()
{
int n,i;
while(cin>>n){
if(!n)
break;
cout<<"Discarded cards:";
List s[n+1];
for(i=1;i<=n;i++){
s[i].k=i;
s[i].p=(i==n)?NULL:&s[i+1];
}
List *header=s+1,*tailor=s+n;
for(i=1;i<n;i++){
if(i==1)
cout<<" ";
else
cout<<", ";
cout<<header->k;
header=header->p;
tailor->p=header;
header=header->p;
tailor=tailor->p;
}
cout<<endl;
cout<<"Remaining card: ";
cout<<header->k<<endl;
}
return 0;
}
UVA - 10935 Throwing cards away I
最新推荐文章于 2021-03-30 21:07:53 发布