您的位置:首页 > 产品设计 > UI/UE

UVa133 - The Dole Queue

2017-04-03 09:32 387 查看
//UVa133 - The Dole Queue
//Time out
#include<cstdio>
#define maxn 25
using namespace std;
int n, k, m, a[maxn];

//p为初位置,逆时针走t步,d为-1时顺时针走,返回新位置
int go(int p, int d, int t){
while(t--){
do{ p = (p+d+n-1)%n+1; }while(a[p] == 0);
}
return p;
}

int main(){
while(scanf("%d%d%d", &n, &k, &m) == 3 && n){
for(int i = 1; i <= n; i++) a[i] = i;
int left = n;
int x = n, y = 1;
while(left--){
x = go(x, 1, k);
y = go(y, -1, m);
printf("%3d", x); left--;
if(y != x){ printf("%3d", y); left--;}
a[x] = a[y] = 0;
if(left) printf(",");
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: