救济金发放The Dole QueueUVA 133
2016-12-28 22:54
483 查看
#include<cstdio>
int main(){
int a[25];
int N,k,m;
while(scanf("%d%d%d",&N,&k,&m)==3 && N){
for(int i=N-1;i>=0;i--){ //倒序输入
a[N-i-1]=i+1;
}
int leave=N;
int k1=N-1; //逆序
int m1=0; //顺序
while(leave){ //当留下0人时退出循环
for(int i=0;i<k;i++){
if(a[k1=(N+k1)%N]==0)i--;
k1--;
}
k1++;
for(int i=0;i<m;i++){
if(a[m1=(m1%N)]==0)i--;
m1++;
}
m1--;
if(m1!=k1){
leave-=2;
if(leave)
printf("%3d%3d,",a[k1],a[m1]);
else printf("%3d%3d",a[k1],a[m1]);
a[k1]=0;a[m1]=0;
}
else {
leave--;
if(leave)
printf("%3d,",a[k1]);
else printf("%3d",a[k1]);
a[k1]=a[m1]=0;
}
}
printf("\n");
}
return 0;
}
int main(){
int a[25];
int N,k,m;
while(scanf("%d%d%d",&N,&k,&m)==3 && N){
for(int i=N-1;i>=0;i--){ //倒序输入
a[N-i-1]=i+1;
}
int leave=N;
int k1=N-1; //逆序
int m1=0; //顺序
while(leave){ //当留下0人时退出循环
for(int i=0;i<k;i++){
if(a[k1=(N+k1)%N]==0)i--;
k1--;
}
k1++;
for(int i=0;i<m;i++){
if(a[m1=(m1%N)]==0)i--;
m1++;
}
m1--;
if(m1!=k1){
leave-=2;
if(leave)
printf("%3d%3d,",a[k1],a[m1]);
else printf("%3d%3d",a[k1],a[m1]);
a[k1]=0;a[m1]=0;
}
else {
leave--;
if(leave)
printf("%3d,",a[k1]);
else printf("%3d",a[k1]);
a[k1]=a[m1]=0;
}
}
printf("\n");
}
return 0;
}
相关文章推荐
- PHP自学笔记 ---李炎恢老师PHP第一季 TestGuest0.7
- RabbitMQ Lazy Queue 延迟加载
- deque容器的实现框架
- OSGi原理与最佳实践:第一章 OSGi框架简介(1)Equinox
- Intel CPU集成显卡被UEFI BIOS禁用想开启的设置
- ENUM values missing in SRSANALYSISENUMS Table
- vue.js学习笔记(二)--指令的使用
- [leetcode][187]Repeated DNA Sequences
- PHP+JQUEY+AJAX实现分页【转】
- MySql添加映射时发生错误-未处理FluentNHibernate.Cfg.FluentConfigurationException
- .NET Core 工具从 project.json 移动到基于 MSBuild 的项目后的使用
- PHP自学笔记 ---李炎恢老师PHP第一季 TestGuest0.6
- MQTT学习笔记——MQTT协议体验 Mosquitto安装和使用
- 个人记录-LeetCode 60. Permutation Sequence
- vuejs项目运行的探索之路
- easyUI双击datagrid行然后跳转页面并且查看行内容
- UITouch
- 不容错过!2016年度优秀UI/UX设计文章
- Quartz2D绘图 自定义UIImageView控件
- UILabel样式自定义(同一个Label展示不同颜色,字体)