救济金发放,紫书P82UVa133
来源:互联网 发布:探索者结构设计软件 编辑:程序博客网 时间:2024/05/17 12:54
(变量-1)%n+1巧妙的完成了正向遍历循环
(变量+n-1)%n+1在不影响正向遍历循环的情况下,巧妙的实现了负向遍历循环
// UVa133 The Dole Queue// Rujia Liu#include<stdio.h>#define maxn 25int n, k, m, a[maxn];int go(int p, int d, int t) { while(t--) { do { p = (p+d+n-1) % n + 1; } while(a[p] == 0);//整个程序最核心的语句,循环啊遍历的最核心算法 }//(变量-1)%n+1巧妙的完成了正向遍历循环 // (变量+n-1)%n+1在不影响正向遍历循环的情况下,巧妙的实现了负向遍历循环 return p;}int main() { while(scanf("%d%d%d", &n, &k, &m) == 3 && n) { for(int i = 1; i <= n; i++) a[i] = i; int left = n; int p1 = n, p2 = 1; while(left) { p1 = go(p1, 1, k); p2 = go(p2, -1, m); printf("%3d", p1); left--; if(p2 != p1) { printf("%3d", p2); left--; } a[p1] = a[p2] = 0; if(left) printf(","); } printf("\n"); } return 0;}
注意:负向遍历的时候绝对不能超过-n,否则无法实现循环
阅读全文
0 0
- 救济金发放,紫书P82UVa133
- 救济金发放
- 救济金发放
- 救济金发放
- 救济金发放
- 救济金发放
- 救济金发放
- 救济金发放
- UVA133-救济金发放
- UVA 133 救济金发放
- uva 133 救济金发放
- UVa 133 救济金发放
- UVa133救济金发放
- UVa 133 救济金发放
- Uva 133 救济金发放
- uva 133 发放救济金
- Uva133救济金发放
- 救济金发放的解决
- CSS media query应用中的层叠特性使用最佳实践
- CSS/LESS tips and snippets
- mysql视图------第一章
- css display属性详解
- css outline属性
- 救济金发放,紫书P82UVa133
- 提高 iOS App 通知功能启用率的三个策略
- 根据viewport的size自动调整fontsize大小
- 查看域名是否支持IPv6
- html tags and attribute集参考
- javascript tips and snippets
- C语言实现一个动态内存的顺序表
- sourcemaps and persistent modification in chrome
- javascript 同源策略及web安全