洛谷 P1087 【FBI树】题解

Link
有句话说的好啊,树的题不一定要把树建出来
这题就是这样
这题直接在读入后,
写个递归函数用于二分查找,
然后,,
就没了。。
(貌似太口胡了吧)
$ \rm code $

# include <bits/stdc++.h>
using namespace std;
const int maxN = 1030; // >= 1024(2^10)
char ch[maxN];
int n;
void binary_search(int, int);
int main() {
	cin >> n >> (ch + 1);
	binary_search(1, 1 << n);
	return 0;
}
void binary_search(int l, int r) {
	int mid = l + r >> 1;
	if(l < r) binary_search(l, mid), binary_search(mid + 1, r);
	bool zero = false, one = false;
	for(int i = l; i <= r; ++i) (ch[i] == 48) ? (zero = true) : (one = true);
	if(zero && one) putchar('F');
	else if(zero) putchar('B');
	else putchar('I');
}
posted @ 2019-08-06 20:17  Aehnuwx  阅读(179)  评论(0编辑  收藏  举报