【数据结构】[NOIP2004]FBI树

题目

就是感觉很像线段树那样建树 然后统计01就行了

代码如下

#include<iostream> #include<cstdio> #include<cctype> using namespace std; #define in = read() typedef long long ll; typedef unsigned int ui; const ll size = 1000 + 100; int n; int num0,num1,mid,ans; char s[size]; inline ll read(){ ll num = 0,f = 1; char ch = getchar(); while(!isdigit(ch)){ if(ch == '-') f = -1; ch = getchar(); } while(isdigit(ch)){ num = num*10 + ch - '0'; ch = getchar(); } return num*f; } int pow(int a,int b){ ans = 1; while(b){ if(b & 1) ans *= a; a *= a; b >>= 1; } return ans; } void build(int l,int r){ mid = ((l + r)>>1); if(l != r){ build(l,mid); build(mid + 1,r); } for(register int i=l;i<=r;i++){ if(s[i] == '0') num0 ++; if(s[i] == '1') num1 ++; } if(num0 && num1) printf("F"); else if(!num1) printf("B"); else if(!num0) printf("I"); num0 = 0; num1 = 0; } int main(){ // freopen("fbi.in","r",stdin); // freopen("fbi.out","w",stdout); n in; scanf("%s",s + 1); build(1,pow(2,n)); return 0; } //COYG 

相关文章

【啊哈!算法】算法3:最常用的排序——快速排序       ...
匿名组 这里可能用到几个不同的分组构造。通过括号内围绕的正...
选择排序:从数组的起始位置处开始,把第一个元素与数组中其...
public struct Pqitem { public int priority; ...
在编写正则表达式的时候,经常会向要向正则表达式添加数量型...
来自:http://blog.csdn.net/morewindows/article/details/6...