The Dole Queue
2015-10-29 10:01
447 查看
UVa133
相当于约瑟夫环问题,只是可以写个函数即可顺时针走,又可以逆时针走。
相当于约瑟夫环问题,只是可以写个函数即可顺时针走,又可以逆时针走。
#include <stdio.h> #include <string.h> const int maxn = 25; int vis[maxn], n; int go ( int start, int d, int step ) { for ( int i = 0; i < step; i ++ ) { do { start = ( start+d+n )%n; }while ( vis[start] ); } return start; } int main ( ) { int m, k, t; while ( ~ scanf ( "%d%d%d", &n, &k, &m ) && ( n || m || k ) ) { memset ( vis, 0, sizeof ( vis ) ); t = n; int p, q; p = n-1; q = 0; //注意p是从最后一个,q是第一个 while ( t ) { p = go ( p, 1, k ); //顺时针走k q = go ( q, -1, m ); //逆时针走m printf ( "%3d", p+1 ); //要加1 t --; if ( p != q ) { printf ( "%3d", q+1 ); t --; } vis[q] = vis[p] = 1; //标记 if ( t ) //最后没有, printf ( "," ); } printf ( "\n" ); } return 0; }
相关文章推荐
- 解决PKIX:unable to find valid certification path to requested target 的问题
- UILabel自动换行和高度自适应
- RequestContext
- 问题:System.Guid.NewGuid();结果:C# System.Guid.NewGuid()
- UITextField内容太靠左边,不美观,添加一个空白的leftView,让它缩进一点
- UIViewController的生命周期及iOS程序执行顺序
- Mysql数据库 hibernate保存数据时,Mysql主键需设定自增,否则报错!(Field 'id' doesn't have a default value)
- Qt的gui编程是,点击一次button出现两次action
- iOS 代码实现获得应用的版本号(Version/Build)
- UIScrollable的基本讲解
- 【Codeforces Round #327 (Div. 2) D】【贪心+二分】 Chip 'n Dale Rescue Rangers 救援任务 变风向
- iOS多线程编程之NSOperation和NSOperationQueue的使用
- UIImageView 获取图片的 宽 高
- error:unknown filesystem grub rescue
- JDBC中Statement接口提供的execute、executeQuery和executeUpdate之间的区别
- 通用固定长度编码格式的字符串查找算法的实现
- UI基础之 --------- UITableView
- SpriteBuilder中节点位置类型为百分比时不能定位的解决
- SpriteBuilder中节点位置类型为百分比时不能定位的解决
- SpriteBuilder中节点位置类型为百分比时不能定位的解决