四叉树
提交数: 18, 通过率: 38.89%, 平均分: 40.56
题目描述:
假设有一个32*32的黑白图像,那么这个黑白图像是可以用一棵四叉树表现出来的。方法是按行、列等分成两份,就一共有四份。按图中的序号表示它的子节点。若某个子节点全黑或全白,则用黑(f,即full)和白(p,即empty)表示,若一个子节点区域有黑有白,就用灰节点(p)表示,并继续递归其子节点。例如下图表示。
现在给定两棵四叉树的前序遍历,请把它们转化成图以后相加(例如上图),并求出转化成图以后黑色像素的个数。注意:整个图是1024个像素。
输入格式:
第一行一个正整数,表示输入有n(n<=10)组数据。随后第2行到第n*2+1行,第i组数据为第i*2行和第i*2+1行,两个字符串,表示两棵树的前序遍历。输入保证合法,不需要校验。
输出格式:
一共n行,每行一个字串,格式为“There are number black pixels.”。number为这个数据点中所含的黑色像素的个数。
样例输入:
3 ppeeefpffeefe pefepeefe peeef peefe peeef peepefefe
样例输出:
There are 640 black pixels. There are 512 black pixels. There are 384 black pixels.
提示:
若无法看懂样例,可以告诉你:第一组数据与说明中的图相符合。
本题除n以外没有给定其他数据范围。因为其他数据范围可通过题意推导所得。
时间限制: 1000ms空间限制: 256MB
来源: by UVA