P1087 FBI树
Posted jjjjjjy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1087 FBI树相关的知识,希望对你有一定的参考价值。
输入输出样例
输入 #1
3 10001011
输出 #1
IBFBBBFIBFIIIFF
说明/提示
对于40%的数据,N≤2;
对于全部的数据,N≤10。
noip2004普及组第3题
题解
很多树的题目事实上根本不用把树建立出来
1 #include<iostream> 2 #include<cmath> 3 4 using namespace std; 5 6 int n; 7 char s[1050]; 8 9 void build_tree(int l,int r) 10 if(r>l) 11 int mid=(l+r)/2; 12 build_tree(l,mid); 13 build_tree(mid+1,r); 14 15 int ans=0,pos=0; 16 for(int i=0;i<=r-l;i++) 17 if(s[l+i]==‘1‘) 18 ans++; 19 20 else pos++; 21 22 if(pos==0) cout<<‘I‘; 23 else if(ans==0) cout<<‘B‘; 24 else cout<<‘F‘; 25 26 27 28 int main() 29 cin>>n>>s; 30 int t=pow(2,n); //构建的树的大小为 2^(n+1)-1; 31 build_tree(0,t-1); 32 return 0; 33
以上是关于P1087 FBI树的主要内容,如果未能解决你的问题,请参考以下文章