uva 133 The Dole Queue 双向约瑟夫环 模拟实现
来源:互联网 发布:宁皓网 知乎 编辑:程序博客网 时间:2024/05/18 21:09
双向约瑟夫环。
数据规模只有20,模拟掉了。(其实公式我还是不太会推,有空得看看)
值得注意的是两个方向找值不是找到一个去掉一个,而是找到后同时去掉。
还有输出也很坑爹!
在这里不得不抱怨下Uva的oj,少了个s,少了个空行什么的都不会显示pe,就给个wa,让人还以为算法有问题。原本以为Uva没有pe,然后据说这边的输出空行如果不对的话就会显示pe。。。
代码:
#include <cstdio>#include <cstring>const int maxn = 22;int N;bool d[maxn];int cw(int pos, int k) {int cnt = 0;for ( ; cnt != k; pos++) {if (pos == N) pos = 0;if (d[pos]) cnt++;}return --pos;}int w(int pos, int m) {int cnt = 0;for (; cnt != m; pos--) {if (pos == -1) pos = N - 1;if (d[pos]) cnt++;}return ++pos;}int main() {int k, m;while (scanf("%d%d%d", &N, &k, &m) && N && k && m) {memset(d, 1, N);int tot = N, flag = 0, a = 0, b = N - 1;while (tot) {a = cw(a, k), b = w(b, m);tot--;if (flag) printf(",");d[a] = d[b] = false;flag = 1;if (a == b)printf("%3d", a + 1);else {printf("%3d%3d", a + 1, b + 1);tot--;}}//while find out allprintf("\n");}//whilereturn 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(约瑟夫变形)
- The Dole Queue 约瑟夫环 模拟
- 【模拟】【环形数组】-UVA-133- The Dole Queue |java实现
- 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|java实现
- uva133 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
- HDU-1671-Phone List
- spring—容器启动载入bean过程
- uva 699 The Falling Leaves dfs实现
- 逆向iOS SDK -- _UIImageAtPath 的实现(SDK 6.1)
- 分享一个网络图片控件(WebImage for wp8)
- uva 133 The Dole Queue 双向约瑟夫环 模拟实现
- javapoi读写数据 excel
- ruby+python
- poj 1696 Space Ant
- C/C++ 取整函数ceil(),floor()
- HDU-1672-Cuckoo Hashing
- Java基础之Hello World
- 2013年暑假队内选拔赛题解2
- libcurl (ftp)库