阅读背景:

#2019120500011-LG 约瑟夫问题&玩具谜题

来源:互联网 

P1996 P1563 模拟

P1996 约瑟夫问题

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main( ){
    int n;
    scanf("%d",&n);
    int m;
    scanf("%d",&m);
    bool vis[n+2];  
    for(int j=1;j<=n;j++){
        vis[j]=1;
    }
    //memset(vis,0,sizeof(vis))
    int now=0,i=1,g=n;
    while(g>0){
        if(i>n) i-=n;
        if(vis[i]==1){
            now++;
            if(now==m){
                vis[i]=0;
                printf("%d ",i);
                g--;
                now=0;
            } 
        }//有人 
        i++;
    }
    return 0;
} #include <cstdio>



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: