大型模拟
模拟约瑟夫问题n个人报数号为m时就是坏人。。。
水题
#include<bits/stdc++.h>
using namespace std;
int i,j;
vector<int>q;
bool die[40005];
int main(){
while(scanf("%d%d",&i,&j) != EOF){
memset(die,false,sizeof(die));
q.clear();
for(int k=1;k<=2*i;k++)q.push_back(k);
int now=0,js;
for(js=0;js<i;js++){
now=(now+j+q.size()-1)%(q.size());
die[q.at(now)]=true;
q.erase(q.begin()+now);
}
int f=0;
for(int p=1;p<=2*i;p++){
f++;
if(die[p]==true)cout<<"B";
else cout<<"G";
if(f==50){
cout<<endl;
f=0;
}
}
cout<<endl<<endl;
}
}