133 - The Dole Queue

#include <cstdio> #include <cstring> int main() { freopen("data.in","r",stdin); freopen("data.out","w",stdout); int N,k,m; int q[25]; while(scanf("%d%d%d",&N,&k,&m)) { if(N==0 && k==0 && m==0) break; memset(q,0,sizeof(q)); for(int i=0;i<N;i++) q[i]=i+1; int u1,u2,h; u1=-1; u2=N; h=N; while(h>0) { if(h!=N) printf(","); int g; g=0; while(g!=k) { u1=(u1+1)%N; if(q[u1]!=-1) g++; } printf("%3d",q[u1]); h--; g=0; while(g!=m) { u2=(u2-1+N)%N; if(q[u2]!=-1) g++; } if(u2!=u1) { printf("%3d",q[u2]); h--; } q[u1]=q[u2]=-1; } printf("\n"); } return 0; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值