输出序列的约瑟夫环

来源:互联网 发布:素描入门书籍推荐 知乎 编辑:程序博客网 时间:2024/06/10 01:53
输出序列约瑟夫环#include<bits/stdc++.h>using namespace std;typedef long long LL;const int maxn = 100000 +  10;int n,m;struct node{    char a;    int id;    node(char _a=' ',int _id=0): a(_a),id(_id){}};int vis[maxn];void solve(){    scanf("%d",&n);///n个人报m下出队    queue<node> Q;    queue<node> q;    for(int i = 1;i<=2*n;i++)    {        char x = '@';        Q.push(node(x,i));        q.push(node(x,i));    }    int i = 1;    memset(vis,false,sizeof(vis));    while(Q.size()>n)    {        if(i==9)        {            vis[Q.front().id]=true;            Q.pop();            i = 1;            continue;        }        //cout<<Q.front()<<" *"<<endl;        Q.push(Q.front());        Q.pop();        i++;    }    for(int i = 1;i<=2*n;i++)    {        if(!vis[i])        {            cout<<"@ ";        }else        {            cout<<"+ ";        }    }}int main(){    solve();    return 0;}
0 0
原创粉丝点击