卫星照片(BFS)

本文介绍了一道编程题目,要求在大型农场卫星地图中使用宽度优先搜索(BFS)算法来区分谷仓和奶牛的位置。难点在于处理800x800的数据规模以及判断联通块是否为矩形。解决方案包括实现BFS,读取输入,判断联通块形状,最终得出谷仓和奶牛的数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

        今天早上我刷题的时候,做了一道很烦的题目--卫星地图。就在我去优快云找答案的时候,我发现大家都是用深搜(DFS)做的。但题目要求用宽搜(BFS)做。那我该怎么办呢?于是我开始了思考......


题目描述        

        农夫约翰(Farmer John)总是想要一个农场的地图,所以他拍摄了一张N行M列的卫星照片。一部分的照片看起来像这样:

..................
..#####.......##..
..#####......##...
..................
#.......###.....#.
#.....#####.......

        他认为每个联通块都是一个谷仓或一头奶牛。联通块由若干个彼此水平或垂直相邻的#符号组成。以下的照片被认为是两个联通块:

....
.#..
..#.
....

        FJ认为一个联通块是谷仓,当且仅当它是一个完整的矩形,否则该联通块是一头奶牛。在第一张照片上面,有三个谷仓(大小分别为2x1,2x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值