zoukankan      html  css  js  c++  java
  • P1996-约瑟夫问题

     1 #include <bits/stdc++.h>
     2 #define _for(i,a,b) for(int i = (a);i < b;i ++)
     3 typedef long long ll;
     4 using namespace std;
     5 int n,m;
     6 int vis[103];
     7 inline ll read()
     8 {
     9     ll ans = 0;
    10     char ch = getchar(), last = ' ';
    11     while(!isdigit(ch)) last = ch, ch = getchar();
    12     while(isdigit(ch)) ans = (ans << 1) + (ans << 3) + ch - '0', ch = getchar();
    13     if(last == '-') ans = -ans;
    14     return ans;
    15 }
    16 inline void write(ll x)
    17 {
    18     if(x < 0) x = -x, putchar('-');
    19     if(x >= 10) write(x / 10);
    20     putchar(x % 10 + '0');
    21 }
    22 
    23 int main()
    24 {
    25     n = read(),m = read();
    26     memset(vis,0,sizeof(vis));
    27     int k = 0;
    28     int i,t = 0;
    29     for(int i = m; k != n; i ++)
    30     {
    31         if(i > n)
    32             i = 1;
    33         if(vis[i]==1)
    34             continue;
    35         else if(vis[i]==0 && t!=0)
    36             t --;
    37         if(vis[i]==0 && t==0)
    38         {
    39             write(i);
    40             printf(" ");
    41             vis[i] = 1;
    42             k ++;
    43             t = m;
    44         }
    45     }
    46 
    47     return 0;
    48 }
  • 相关阅读:
    oo第二次总结
    oo第一次总结
    OO最后一次博客儿
    OO作业总结第三弹
    OO作业总结第二弹
    初学面向对象
    hi🎈
    散列函数及其应用
    结对项目作业
    构建之法第四,第十四章读书有感 (另补第十七章)
  • 原文地址:https://www.cnblogs.com/Asurudo/p/11284439.html
Copyright © 2011-2022 走看看