和猴子选大王差不多
#include <stdio.h>
#include <string.h>
int s[25];
int left,n,m,a;
int find_go_one(int p,int d,int t);
int main ()
{
int b,c,d,e,f,g;
int i,k,l,j;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
if(a==0&&b==0&&c==0)
{
break;
}
memset(s,0,sizeof(s));
for(i=1; i<=a; i++)
{
s[i]=i;
}
left=a;
int a1=a;
int a2=1;
while(left)
{
a1=find_go_one(a1,1,b);
a2=find_go_one(a2,-1,c);
printf("%3d",a1);
left--;
if(a1!=a2)
{
printf("%3d",a2);
left--;
}
s[a1]=0;
s[a2]=0;
if(left)
{
printf(",");
}
}
printf("\n");
}
return 0;
}
int find_go_one(int p,int d,int t)
{
while(t--)
{
do
{
p=(p+d+a-1)%a+1;
}
while(s[p]==0);
}
return p;
}