zoukankan      html  css  js  c++  java
  • uva

    类型:循环走步

     1 #include <iostream>
     2 #include <sstream>
     3 #include <cstdio>
     4 #include <cstring>
     5 #include <cmath>
     6 #include <string>
     7 #include <vector>
     8 #include <set>
     9 #include <cctype>
    10 #include <algorithm>
    11 #include <cmath>
    12 #include <deque>
    13 #include <queue>
    14 #include <map>
    15 #include <stack>
    16 #include <list>
    17 #include <iomanip>
    18 
    19 using namespace std;
    20 
    21 #define INF 0x7fffffff
    22 #define maxn 1010
    23 typedef unsigned long long ull;
    24 
    25 
    26 int arr[maxn];
    27 int N, k, m;
    28 
    29 //d也能表示顺时针还是逆时针,顺时针-1,逆时针1
    30 //注意此处的算法
    31 int go(int t, int p, int d)
    32 {
    33     while(t--)
    34     {
    35         do{
    36             ///
    37             p = (p+d+N-1)%N+1;
    38         }
    39         while(!arr[p]);
    40     }
    41     return p;
    42 }
    43 
    44 int main()
    45 {
    46     while(scanf("%d%d%d", &N, &k, &m) && (N+k+m))
    47     {
    48         memset(arr, 0, sizeof(arr));
    49         for(int i = 1; i <= N; i++)
    50             arr[i] = i;
    51 
    52         int left = N;//剩下的人数
    53         int p1 = 0, p2 = N+1;//位置标记
    54 
    55         while(left)
    56         {
    57             p1 = go(k, p1, 1);
    58             p2 = go(m, p2, -1);
    59             arr[p1] = arr[p2] = 0;
    60             //注意此处的输出优化
    61             printf("%3d", p1);  left--;
    62             if(p1 != p2)
    63             {
    64                 printf("%3d", p2);  left--;
    65             }
    66             if(left)    printf(",");
    67                 else printf("
    ");
    68         }
    69     }
    70     return 0;
    71 }
    72             
  • 相关阅读:
    jsonp 请求和回传实现
    序列化实现原型模式
    java基础30问
    模板方法模式
    开发思维导图
    策略模式
    使用vue-router设置每个页面的title
    node.js解决中文乱码问题
    Vue-cli proxyTable代理 解决开发环境的跨域问题
    Vue缓存需要被缓存的页面
  • 原文地址:https://www.cnblogs.com/LLGemini/p/3979783.html
Copyright © 2011-2022 走看看