hdu-4841圆桌问题
用vector模拟n次后数组中剩下的是好人,然后判断0~2n-1是否在数组中,在输出G,不在输出B。
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int main(){
vector<int> table;
int n,m;
while(~scanf("%d%d",&n,&m)){
table.clear();
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.erase(table.begin()+pos);
}
int j=0;
for(int i=0;i<2*n;i++){
if(!(i%50)&&i) printf("\n");
if(j<table.size()&&i==table[j]){
j++;
printf("G");
}
else printf("B");
}
printf("\n\n");
}
return 0;
}