#include <cstdio>
#include <cstring>
#include <iostream>
#include <map>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
int n, k, m;
while(cin >> n >> k >> m && (n+m+k) )
{
int a[22];
for(int i = 1; i <= n; i++)
a[i] = 1;
int ln = 1, rn = n, frist = 1;
int num, flag = ln, count = n;
while(count)
{
int num1, num2;
num = 0;
for(int i = ln; ; i++)
{
if(i > n)
i-=n;
num+=a[i];
if(num == k)
{
num1 = i;
ln = i;
break;
}
}
num = 0;
for(int i = rn; ; i--)
{
if(i < 1)
i+=n;
num+=a[i];
if(num == m)
{
num2 = i;
rn = i;
break;
}
}
a[num1] = 0;
a[num2] = 0;
if(frist)
{
if(num1 != num2)
{
printf("%3d%3d", num1, num2);
count-=2;
}
else
{
printf("%3d", num1);
count--;
}
frist = 0;
}
else
{
if(num1 != num2)
{
printf(",%3d%3d", num1, num2);
count-=2;
}
else
{
printf(",%3d", num1);
count--;
}
}
}
cout << endl;
}
return 0;
}
uva 133 - The Dole Queue
最新推荐文章于 2024-02-13 13:56:13 发布