hdu 4841

大型模拟
模拟约瑟夫问题n个人报数号为m时就是坏人。。。
水题

#include
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;
	}
}

你可能感兴趣的:(水题)