蓝桥-ALGO-27-FBI树
来源:互联网 发布:php等于符号 编辑:程序博客网 时间:2024/06/04 22:48
ACM模版
描述
题解
实际上就是一个建树遍历树的过程,很简单,代码一看就知晓了……水题。不过,算是丰富了一个关于树的知识,原来还有名字这么霸气的一棵树啊!
代码
#include <iostream>#include <string>using namespace std;typedef struct BTNode{ char state; int l, r; BTNode *left, *right; BTNode(int l_, int r_) { l = l_; r = r_; left = right = NULL; }} *BTree;BTree root;string s;void BuildBTree(BTree &t, int l, int r){ t = new BTNode(l, r); if (l == r) { if (s[l] == '0') { t->state = 'B'; } else { t->state = 'I'; } return ; } int m = (l + r) >> 1; BuildBTree(t->left, l, m); BuildBTree(t->right, m + 1, r); if (t->left->state == 'I' && t->right->state == 'I') { t->state = 'I'; } else if (t->left->state == 'B' && t->right->state == 'B') { t->state = 'B'; } else { t->state = 'F'; }}void PrintfBTree(BTree p){ if (p != NULL) { PrintfBTree(p->left); PrintfBTree(p->right); cout << p->state; }}int main(int argc, const char * argv[]){ int N; cin >> N; cin >> s; BuildBTree(root, 0, (int)s.length() - 1); PrintfBTree(root); putchar(10); return 0;}
阅读全文
0 0
- 蓝桥-ALGO-27-FBI树
- 蓝桥杯 ALGO-27 算法训练 FBI树 Java版
- 蓝桥-ALGO-26-麦森数
- 蓝桥-ALGO-33-数列
- 蓝桥-ALGO-40-会议中心
- 蓝桥-ALGO-29-校门外的树
- 蓝桥 ALGO-2 最大最小公倍数
- 蓝桥-ALGO-9-摆动序列
- 蓝桥-ALGO-10-集合运算
- 蓝桥-ALGO-12-幂方分解
- 蓝桥-ALGO-13-拦截导弹
- 蓝桥-ALGO-14-回文数
- 蓝桥-ALGO-16-进制转换
- 蓝桥-ALGO-17-乘积最大
- 蓝桥-ALGO-18-单词接龙
- 蓝桥-ALGO-19-方格取数
- 蓝桥-ALGO-20-求先序排列
- 蓝桥-ALGO-22-数的划分
- 使用TextRank生成文本摘要
- AWS S3 Key 前缀分布优化数据请求的性能
- AWS Lambda 按序处理同一个 Kinesis Shard 中的消息
- Together项目后台开发07
- 使用 avro-tools, jq 查看 Apache Avro 序列化文件
- 蓝桥-ALGO-27-FBI树
- 关于C语言数组的定义问题
- 285. Inorder Successor in BST
- html中使用d3-cloud词云
- 蓝桥-ALGO-28-星际交流
- 【SrpingBoot】SpringBoot内置Tomcat报错+除错小技巧
- 蓝桥-ALGO-29-校门外的树
- 【SpringBoot】“没有默认的构造器”,No default constructor found;
- 【技巧】关于运行到底按哪个Run键