#HX1260E. 冰激凌周长

提交10 通过9
通过率90%
时间限制1000ms
内存限制128MiB
    ID: 10131 传统题 1000ms 128MiB 尝试: 10 已通过: 9 难度: 普及 上传者: 标签>编程题C++CSPCSP复赛CSP复赛专项练习暑假CSP复赛集训暑假集训1260-深搜+图搜

题目描述

题目描述

Farmer John 准备开始他的冰激凌生意。他制造了一台可以生产冰激凌球的机器,但是机器生产出的冰激凌形状并不规则。

机器生产出的冰激凌可以用一个 N×NN\times N 的字符方阵表示。字符“#”表示一个 1×11\times1 的冰激凌方格,字符“.”表示空地。

两个冰激凌方格如果上下或左右相邻,就属于同一个连通块。一个冰激凌球就是一个由若干个“#”组成的四方向连通块。

冰激凌球的面积是该连通块中“#”的数量。冰激凌球的周长是这个连通块与空地或方阵外部相邻的边的总数。冰激凌球内部空洞的边界也要计入周长。

请找出面积最大的冰激凌球,并输出它的面积和周长。如果有多个冰激凌球的面积并列最大,输出其中周长最小的一个。

输入格式

第一行包含一个整数 NN

接下来 NN 行,每行包含 NN 个字符“#”或“.”,描述冰激凌图案。输入保证至少存在一个“#”。

输出格式

输出两个整数,分别表示最大冰激凌球的面积和对应的周长。如果有多个冰激凌球面积并列最大,输出其中最小的周长。

样例

输入

6
##....
....#.
.#..#.
.#####
...###
....##

输出

13 22

数据范围

1N10001\le N\le 1000

1
#
1 4
5
#....
....#
....#
..##.
##.#.
3 8
5
#.#.#
.#.#.
.#...
.#..#
..##.
3 8