hdu_4841

//圆桌问题(约瑟夫问题)
#include
using namespace std;
int main(){
     
    vector <int> table;
    int n,m;
    while(cin>>n>>m){
     
        for(int i=0;i<2*n;++i)  table.push_back(i);
        int pos=0;
        for(int i=0;i<n;++i){
     
            pos=(pos+m-1)%table.size();
            //table.size()是在变化的
            table.erase(table.begin()+pos);
        }
        int j=0;
        for(int i=0;i<n*2;++i){
     
            if(!(i%50)&&i) cout<<endl;
            //圆桌剩下的全是好人
            if(i==table[j]){
     //j
                cout<<"G";
                j++;
            }else cout<<"B";
        }

        cout<<endl;
    }
    return 0;
}

未解决

  1. j
  2. 在2 4测试下的问题。

你可能感兴趣的:(hdu,算法)