UVA - 133 The Dole Queue
来源:互联网 发布:进销存软件免费版 编辑:程序博客网 时间:2024/06/05 04:47
UVA - 133 The Dole Queue
题目大意:n个人逆时针编号围成一个圈,两个考官一个从1逆时针点人,每次点k个,另一个从n顺时针点人,每次点m个,当被点到的人不同时输出 a b,同一个人时输出 a,每个数字占三个场宽。
解题思路:用数组模拟 定义两个变量标记数的位置,输完输出来就可以了,值得注意的,已经被点到的人是跳过 不用数的
/************************************************************************* > File Name: UVA-133.cpp > Author: Robin > Mail: 499549060@qq.com > Created Time: 2016年07月21日 星期四 10时24分43秒 ************************************************************************/#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>#include<cstring>using namespace std;int main() { int n[30]; int k, m, N; int a,b; while (scanf("%d%d%d", &N, &k, &m) && (N || k || m)) { int flag = N; memset(n, 0, sizeof(n)); a = 0; b = N + 1; while (1) { for (int i = 0; i < k; i++) { a++; if (a == N + 1) a = 1; while (n[a]){ a++; if (a == N + 1) a = 1; } } for (int i = 0; i < m; i++) { b--; if (b == 0) b = N; while (n[b]){ b--; if (b == 0) b = N; } } printf("%3d", a); flag--; n[a] = 1; if ( a != b) { printf("%3d", b); n[b] = 1; flag--; } if (flag == 0) break; printf(","); } printf("\n"); }}
0 0
- UVa 133 The Dole Queue
- Uva 133 The Dole Queue
- uva 133 - The Dole Queue
- uva-133 - The Dole Queue
- UVa 133 - The Dole Queue
- uva 133 The Dole Queue
- UVa 133 - The Dole Queue
- UVa 133 - The Dole Queue
- uva 133 - The Dole Queue
- uva-133 The Dole Queue
- UVA 133 The Dole Queue
- UVa 133 - The Dole Queue
- uva 133 - The Dole Queue
- uva 133 The Dole Queue
- UVa 133 The Dole Queue
- uva 133 - The Dole Queue
- uva 133 - The Dole Queue
- UVa 133 - The Dole Queue
- UVA - 101 The Blocks Problem
- RISC诞生与发展的缩影
- 获取缓存大小和清除缓存功能
- AndroidStudio设置三步走
- Android--多媒体
- UVA - 133 The Dole Queue
- Java链栈
- 2016.07.08【初中部 NOIP提高组 】模拟赛C
- scrollview滑动跟侧滑的冲突
- 如何实现 Android 应用的持续部署?
- Linux下安装jdk
- 一步一图一代码,一定要让你真正彻底明白红黑树 (July算法!!!)
- UVA - 10152 ShellSort
- Codeforces New Year and Days