码迷,mamicode.com
首页 > 其他好文 > 详细

Uva133 - The Dole Queue

时间:2016-11-02 23:20:42      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:log   nbsp   color   blog   顺时针   公式   stdin   数组   bsp   

题意

n个人围城一个环,逆时针编号1~n,A从1开始逆时针数K个,B从n顺时针数M个,被选中的1或2个人一次领救济金,输出顺序

思路

双向约瑟夫环,公式没推出来,用的模拟

总结

开始用的数组模拟链表写的,WA了,打算再改改。不知道为什么这道题卡了很久总不对。

模拟:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <algorithm>
 5 using namespace std;
 6 const int maxn = 25;
 7 int n, k, m;
 8 int a[maxn];
 9 int main()
10 {
11     //freopen("in.txt", "r", stdin);
12 
13     while(cin >> n >> k >> m && n){
14         for(int i = 1; i <= n; i++)
15             a[i] = i;
16         int left = n;
17         int p1 = 1, p2 = n;
18         while(left){
19             int cnt = 0;
20             for(; cnt != k;p1++){
21                 if(p1 == n+1) p1 = 1;
22                 if(a[p1]) cnt++;
23 
24             }
25             p1--;
26             for(cnt = 0; cnt != m; p2--){
27                 if(p2 == 0) p2 = n;
28                 if(a[p2]) cnt++;
29 
30             }
31             p2++;
32             printf("%3d", p1);
33             left--;
34             if(p2 != p1){
35                 printf("%3d", p2);
36                 left--;
37             }
38             a[p1] = a[p2] = 0;
39             if(left) printf(",");
40         }
41         printf("\n");
42     }
43     return 0;
44 }

 

Uva133 - The Dole Queue

标签:log   nbsp   color   blog   顺时针   公式   stdin   数组   bsp   

原文地址:http://www.cnblogs.com/md-zz/p/6024780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!