1365:FBI树(fbi)
在递归前序遍历的基础上加上一些操作即可。
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
string s;
void solve(int l,int r){
int h_1=s.substr(l,r-l).find('1'),h_0=s.substr(l,r-l).find('0');
char c='F';
if(h_0<0)c='I';
if(h_1<0)c='B';
if(r==l+1){
cout<<c;
return;
}
int mid=(l+r)/2;
solve(l,mid);
solve(mid,r);
cout<<c;
}
int main(){
int n;
cin>>n>>s;
solve(0,s.length());
return 0;
}