#724. Icy Perimeter
Icy Perimeter
题目描述
Farmer John要开始他的冰激凌生意了!他制造了一台可以生产冰激凌球的机器,然而不幸的是形状不太规则,所以他现在希望优化一下这台机器,使其产出的冰激凌球的形状更加合理。机器生产出的冰激凌的形状可以用一个N x N (1≤N ≤1000)的矩形图案表示,例如:
##. . . .
. . . . # .
.# . . # .
.#####
. . .###
. . . .##
每个'.'字符表示空的区域,每个'#'字符表示⼀块 的正⽅形格⼦⼤⼩的冰激凌。 不幸的是,机器当前⼯作得并不是很正常,可能会⽣产出多个互不相连的冰激凌球(上图中有两个)。⼀个冰激凌 球是连通的,如果其中每个冰激凌的正⽅形格⼦都可以从这个冰激凌球中其他所有的冰激凌格⼦出发重复地前往 东、南、⻄、北四个⽅向上相邻的冰激凌格⼦所到达。 Farmer John想要求出他的⾯积最⼤的冰激凌球的⾯积和周⻓。冰激凌球的⾯积就是这个冰激凌球中'#'的数量。如果有多个 冰激凌球并列⾯积最⼤,他想要知道其中周⻓最⼩的冰激凌球的周⻓。在上图中,⼩的冰激凌球的⾯积为2,周⻓ 为6,⼤的冰激凌球的⾯积为13,周⻓为22。 注意⼀个冰激凌球可能在中间有“洞”(由冰激凌包围着的空的区域)。如果这样,洞的边界同样计⼊冰激凌球的周 ⻓。冰激凌球也可能出现在被其他冰激凌球包围的区域内,在这种情况下它们计为不同的冰激凌球。例如,以下这 种情况包括⼀个⾯积为1的冰激凌球,被包围在⼀个⾯积为16的冰激凌球内:
#####
# . . .#
#. # .#
#. . . #
#####
同时求得冰激凌球的⾯积和周⻓⼗分重要,因为Farmer John最终想要最⼩化周⻓与⾯积的⽐值,他称这是他的冰激凌的“冰周率”。当这个⽐率较⼩的时候,冰激凌化得⽐较慢,因为此时冰激凌单位质量的表⾯积较⼩。
输入格式
输⼊的第⼀⾏包含 N,以下 N⾏描述了机器的⽣产结果。其中⾄少出现⼀个'#'字符。
输出格式
输出⼀⾏,包含两个空格分隔的整数,第⼀个数为最⼤的冰激凌球的⾯积,第⼆个数为它的周⻓。如果多个冰激凌 球并列⾯积最⼤,输出其中周⻓最⼩的那⼀个的信息。
样例
6
##....
....#.
.#..#.
.#####
...###
....##
13 22
相关
在下列比赛中: