卫星照片(搜索)

该博客介绍了一种方法来分析卫星照片,通过DFS搜索确定照片上的#块代表的是羊群还是帐篷。在给定的例子中,照片是一个R×C的字符矩阵,其中连续的#表示羊群或帐篷。若矩形区域内部全为#,则视为帐篷,否则视为羊群。博客提供了一个样例输入和输出,并提出了通过判断矩形大小来区分羊群和帐篷的思路。

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

题目描述
牧羊人达瓦正在研究他们牧场的卫星照片.照片为一个R(1<=R<=75)行C(1<=C<=75)列的字符矩阵表示。如下图:

…#####…##…
…#####…##…

#…###…#.
#…#####…
图上的一块相连通的#表示一群绵羊或一个帐篷,两个子#连通的意思是说左右或上下相连。而下面的两块则是分开的:

.#…
…#.

达瓦现在根据卫星照片上的的这些#块的形状来判断哪些是羊群,哪些是帐篷。如果矩形内只有#,则是帐篷,其它的则认为都是羊群。在第一个图中,有三个帐篷(2∗1,2∗5,and 1∗1)和2群羊。根据输入的数据,统计出帐篷数和羊群数,数据中羊群不会包围另一个羊群或帐篷。

输入
第一行,两个整数:R和C.和2…R+1行:第i+1行表示照片的第i行情况,由C字符组成。

输出
第一行: 帐篷数。
第二行: 羊群数。

样例输入
5 8
#####…#
#####.##
…#.
.###…#
.###…##

样例输出
2
2

思路
dfs搜索,通过四个角判断矩形大小,从而判断是否是羊群

代码实现

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <string>
#include <cstdlib>
#include <cstring>
using namespace std;
typedef long long ll;
const int N=105;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值