1365:FBI树(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;
}
posted @ 2021-09-14 19:34  Rekord  阅读(99)  评论(0编辑  收藏  举报