博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1087-FBI树
阅读量:5232 次
发布时间:2019-06-14

本文共 1731 字,大约阅读时间需要 5 分钟。

1 #include 
2 #define _for(i,a,b) for(int i = (a);i < b;i ++) 3 typedef long long ll; 4 using namespace std; 5 string S; 6 int N; 7 inline ll read() 8 { 9 ll ans = 0;10 char ch = getchar(), last = ' ';11 while(!isdigit(ch)) last = ch, ch = getchar();12 while(isdigit(ch)) ans = (ans << 1) + (ans << 3) + ch - '0', ch = getchar();13 if(last == '-') ans = -ans;14 return ans;15 }16 inline void write(ll x)17 {18 if(x < 0) x = -x, putchar('-');19 if(x >= 10) write(x / 10);20 putchar(x % 10 + '0');21 }22 struct TreeNode23 {24 char val;25 TreeNode *left;26 TreeNode *right;27 };28 char judge(int le,int ri)29 {30 bool oflag = false;31 bool zflag = false;32 _for(i,le,ri+1)33 {34 if(S[i]=='0')35 zflag = true;36 else if(S[i]=='1')37 oflag = true;38 }39 if(zflag && !oflag)40 return 'B';41 else if(!zflag && oflag)42 return 'I';43 else44 return 'F';45 return -1;46 }47 TreeNode* build(int le,int ri)48 {49 TreeNode* tmp = (TreeNode*)malloc(sizeof(TreeNode));50 int mi = (le+ri)/2;51 tmp->val = judge(le,ri);52 if(le!=ri)53 {54 tmp->left = build(le,mi);55 tmp->right = build(mi+1,ri);56 }57 else58 tmp->left = tmp->right = NULL;59 return tmp;60 }61 void postorder(TreeNode *root)62 {63 if(!root)64 return ;65 postorder(root->left);66 postorder(root->right);67 printf("%c",root->val);68 }69 int main()70 {71 TreeNode* root;72 scanf("%d",&N);73 cin >> S;74 root = build(0,pow(2,N)-1);75 postorder(root);76 return 0;77 }

 

转载于:https://www.cnblogs.com/Asurudo/p/11286525.html

你可能感兴趣的文章
从零开始学springboot笔记(一)-Spring boot之Hello Word
查看>>
python循环登录之一——用户 密码
查看>>
ubuntu下安装gedit插件
查看>>
[摘录]梅贻琦先生清华就职演讲
查看>>
[ 转载 ] [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)...
查看>>
OpenCV数字图像处理(2) 反色
查看>>
实现类的自动加载,类的自动实例,方法的自动调用{news.getOne}
查看>>
Xcode 使用技巧
查看>>
纯html网页重定向与跳转
查看>>
Servlet 文件上传
查看>>
VC++程序运行时间测试函数
查看>>
给大家推荐一个C#下的Ribbon风格的Forms实现示例-含源码
查看>>
Python Day_2
查看>>
python zip()
查看>>
gcc 编译时 库链接
查看>>
mybatis OGNL
查看>>
解决 Vim 的 quickfix 插件错误信息乱码问题
查看>>
面向服务的体系结构(SOA)——(5)关于MEP(Message Exchange Patterns)
查看>>
#1062 – Duplicate entry ‘1’ for key ‘PRIMARY’
查看>>
LinQ In Action 学习第四章
查看>>