本文主要是介绍《【提高】卫星照片》—记得点赞哦,一人一赞,美好不断。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天,我说的是《卫星照片》这道题,这道题我感觉唯一的难点就是判断矩形,想信读过题的伙伴们,都可以读懂我的痛!
让我们先看看题目吧!
题目描述
农夫约翰总是想要一个农场的地图,所以他拍摄了一张N行M列的卫星照片。一部分的照片看起来像这样:
.................. ..#####.......##.. ..#####......##... .................. #.......###.....#. #.....#####.......
他认为每个联通块都是一个谷仓或一头奶牛。联通块由若干个彼此水平或垂直相邻的#符号组成。以下的照片被认为是两个联通块:
.... .#.. ..#. ....
农夫约翰认为一个联通块是谷仓,当且仅当它是一个完整的矩形,否则该联通块是一头奶牛。在第一张照片上面,有三个谷仓(大小分别为2x1,2x5和1x1)和两头奶牛。
计算他的卫星照片中谷仓和奶牛的数量。
输入
行1:两个空格分隔的整数:N和M(N,M<=80)。
行2..N + 1:行i + 1表示照片的行i包含M个字符(且不含空格)。
输出
行1:照片中的谷仓数量。
行2:照片中的奶牛数量。
样例输入
5 8 #####..# #####.## ......#. .###...# .###..##
样例输出
2 2
我们还看看,通过这句话:农夫约翰认为一个联通块是谷仓,当且仅当它是一个完整的矩形,否则该联通块是一头奶牛。
我们可以得知 只要判断是否为矩形,如果不是,就是奶牛。
那么问题来了,我们咋么判断是不是矩形呢?

这篇关于《【提高】卫星照片》—记得点赞哦,一人一赞,美好不断。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!