如图6-8所示, 可以用四分树来表示一个黑白图像, 方法是用根结点表示整幅图像, 然后把行列各分成两等分, 按照图中的方式编号, 从左到右对应4个子结点。 如果某子结点对应的区域全黑或者全白, 则直接用一个黑结点或者白结点表示; 如果既有黑又有白, 则用一个灰结点表示, 并且为这个区域递归建树。
给出两棵四分树的先序遍历, 求二者合并之后( 黑色部分合并) 黑色像素的个数。 p表示中间结点, f表示黑色( full) , e表示白色( empty)。
样例输入:
3
ppeeefpffeefe
pefepeefe
peeef
peefe
peeef
peepefefe
样例输出:
There are 640 black pixels.
There are 512 black pixels.
There are 384 black pixels.
【分析】
由于四分树比较特殊, 只需给出先序遍历就能确定整棵树( 想一想, 为什么)。 只需要编写一个“画出来”的过程, 边画边统计即可。
#include"pch.h"
#include<iostream>
#include<cstdio>
#include<cstring>
const int len = 32;
const int maxn = 1024 + 10;
char s[maxn];
int buf