#2测试点过不去,RE,本地运行测试数据没问题```
#include<bits/stdc++.h>
using namespace std;
char a[2050];
void made_tree(string s,int k)
{
if(s.size()==0)return;
if(s.find('1')!=-1&&s.find('0')!=-1)a[k]='F';
else if(s.find('0')==-1)a[k]='I';
else if(s.find('1')==-1)a[k]='B';
if(s.size()>=2){
made_tree(s.substr(0,s.size()/2),2k);
made_tree(s.substr(s.size()/2,s.size()/2),2k+1);
}
}
void put_tree(int k)
{
if(a[k]=='F'||a[k]=='B'||a[k]=='I')
{
put_tree(k2);
put_tree(k2+1);
cout<<a[k];
}
}
int main()
{
int n;
string s;
cin>>n;
cin>>s;
made_tree(s,1);
put_tree(1);
return 0;
}