Uva297 Quadtrees【递归建四分树】【例题6-11】

题目:Quadtrees

题意:用四分树来表示一个黑白图像:最大的图为根,然后按照图中的方式编号,从左到右对应4个子结点。如果某子结点对应的区域全黑或者全白,则直接用一个黑结点或者白结点表示;如果既有黑又有白,则用一个灰结点表示,并且为这个区域递归建树。



思路:利用递归建树,因为是4分树,所以递归时,当遇见‘p’就递归分别4个位置,每个位置记录左上角,再利用此次递归的边长即可得到本块的大小,边长每次缩小2倍!

当遇见'f'时,直接累加没有标记过的位置的个数即是黑块的大小,从(r,c)~(r+w,c+w);

注意:递归式中p需要用引用,这样每次p++后会改变p的值!

代码:

#include <iostream>
#include <string.h>
#include <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值