题目大意:
可以用一棵四分树来表示一副黑白像素,用根节点表示整幅图像,然后把行和列二等分,按照如下图中顺序编号为1—4,分别对应了四分数根节点从左往右的四个子节点,如果某子节点对应的区域为全黑或全白,则直接用一个黑节点或者白节点表示,如果既有黑节点又有白节点,那么就用一个灰节点表示,并且为这个区域递归建树。
输入两颗四分树的先序遍历序列,求二者合并(黑色部分合并)后的黑像素的个数,用p表示灰节点,f表示黑色,e表示白色,四分树的高度不超过5。
注: 默认图像的大小为 32 × 32 32×32 32×32
解题思路:
递归:可以直接用一个二维数组表示一幅画板,然后将两颗四分树画在同一幅画板上, 最后计数整个画板上的黑色素的个数即可。
#include <iostream>
#include <cstring>
using namespace std;
const int Len = 32;
const