UVa 133 The Dole Queue
来源:互联网 发布:python兼职 编辑:程序博客网 时间:2024/05/17 03:36
救济金发放问题,N数按照逆时针排成一圈,一个指针从1到N逆时针数到第k个数,另一个指针从N到1数m个数,将数到的数取出,然后重复这个过程。
#include<iostream>#include<iomanip>using namespace std;int main(){int N, k, m;int pFst;int pSnd;int cnt;while (cin >> N >> k >> m) {if (N == 0 || k == 0 || m == 0)break;cnt = N;pFst = 0;pSnd = N - 1;bool *cArr = new bool[N];for (int i = 0; i < N; ++i)cArr[i] = true;while (cnt > 0) {int temp = 0;while (1) {if (cArr[pFst] == false) {pFst = (pFst + 1) % N;continue;}else {temp++;if (temp == k )break;else pFst = (pFst + 1)%N;}}//endwhiletemp = 0;while (1) {if (cArr[pSnd] == false) {pSnd = (pSnd + N - 1) % N;continue;}else {temp++; if (temp == m) break;else pSnd = (pSnd + N-1) % N;}}//endwhileif (pFst == pSnd) {cnt--;cout << setw(3) << pFst + 1;if (cnt != 0)cout << ",";cArr[pFst] = false;}else {cout << setw(3) << pFst + 1;cout << setw(3) << pSnd + 1;cnt -= 2;if (cnt != 0)cout << ",";cArr[pFst] = false;cArr[pSnd] = false;}pFst = (pFst + 1) % N;pSnd = (pSnd - 1 + N) % N;}//endwhilecout << endl;}//endwhile return 0;}
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
- RGB 色度空间转换
- 喝汽水问题
- Android图片旋转到固定方向方法
- python中通信模块
- Android中ListView嵌套导致高度错误
- UVa 133 The Dole Queue
- loadrunner进阶——学习四、集合点策略
- OBYC中的GBB一般修改的解释
- log4j打印出所在行号
- 当listview滑过headview时动态禁止ViewPager滑动方法
- html的其他标签
- STL中的stack详解及其自我实现
- 背景选择器selector/shape
- loadrunner进阶——学习五、IP欺骗(IP Spoofer)