#2972. 【提高】卫星照片 USACO
【提高】卫星照片 USACO
说明
农夫约翰获得了一张由 N 行、M 列字符组成的卫星照片。照片中每个位置是:
#—— 可能属于某个联通块.—— 空地
一个 联通块 由若干个 上下左右相邻 的 # 组成,不包含对角线相邻。
如果一个联通块恰好组成一个 完整矩形(矩形区域内全是 #,且没有缺口),则称这个联通块是一个 谷仓;
否则,该联通块被认为是一头 奶牛。
你的任务是:统计照片中 谷仓的数量 和 奶牛的数量。
输入格式
第一行包含两个整数 N 和 M(N, M ≤ 80)。
接下来 N 行,每行包含 M 个字符(无空格),构成照片内容。
输出格式
输出两行:
第一行:谷仓的数量 第二行:奶牛的数量
样例输入
5 8
#####..#
#####.##
......#.
.###...#
.###..##
样例输出
2
2
提示
可对每个 # 联通块先用 DFS/BFS 找出区域,再判断该区域是否为完整矩形:
若区域最小外接矩形内部全部为 #,则为谷仓;否则为奶牛。