RE都变成了WA
```cpp
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
string a[3000];
string S;
int n;
void build(int k){
for(int i=0;i<a[k].size()/2;i++)
a[k*2]=a[k*2]+a[k][i];
for(int i=a[i].size()/2;i<a[k].size();i++)
a[k*2+1]=a[k*2+1]+a[k][i];
if(a[k*2].size()==1&&a[k*2+1].size()==1)return;
build(k*2);
build(k*2+1);
}
char kind(string s){ //F:0+1 B:0 I:1
if(s[0]=='1')
{
int flag=1;
for(int i=1;i<s.size();i++)
{
if(s[i]=='0'){flag=0;break;}
}
if(flag==1)return 'I';
else return 'F';
}
if(s[0]=='0')
{
int flag=1;
for(int i=1;i<s.size();i++)
{
if(s[i]=='1'){flag=0;break;}
}
if(flag==1)return 'B';
else return 'F';
}
}
void work(int k)
{
if(a[k].size()==1)
{
cout<<kind(a[k]);
return;
}
work(k*2);
work(k*2+1);
}
int main(){
cin>>n;
cin>>S;
a[1]=S;
if(S.size()==1)
{
work(1);
return 0;
}
build(1);
work(1);
return 0;
}
```
by Priori_Incantatem @ 2019-03-04 09:59:19
说说思路
by Robert_Bumaro @ 2019-08-12 22:12:55