FBIツリー(比較的新しいアプローチ)
この質問の前にそれを見たことがあり、何も、一般的に、後続の横断まあへのデータ構造の知識まあ、成果と直接アナログを考えているんが、賢いコード比較を見るために少し複雑に感じているが、私は、本当に良い感じていません考えるために少し難しいです。。。。
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<cmath>
using namespace std;
int a[2000];
char str[1050];
int main(){
int n;
scanf("%d",&n);
scanf("%s",str);
int len=strlen(str);
for(int i=0;i<len;i++){
a[i+1]=str[i]-'0';
}
//getchar();
for(int i=1;i<=len;i++){
if(a[i]==0)
printf("B");
if(a[i]==1)
printf("I");
for(int j=1;j<=len;j++){
int x=i;
int sum=0;
if(i%(int)pow(2,j)==0){
for(int m=(int)pow(2,j);m>0;m--){
sum+=a[x];
x--;
}
if(sum==pow(2,j))
printf("I");
else if(sum==0){
printf("B");
}
else
printf("F");
}
}
}
//getchar();
}