#P1286. 电影院座位

电影院座位

题目描述

小明和他的朋友一起去电影院看电影,他们总共有 PP 个人,由于他们到达电影院的时间比较晚,电影院很多位置上已经坐满了人,小明向售票员提出了座位要求:

小明为了能够跟他的朋友们尽可能坐在一起, 要求他们 PP 个人要坐在一个矩形区域的座位内,该矩形区域内至少要有 PP 个空座位供他们使用,且该矩形面积要尽可能小。

该电影院一共有 nnmm 列,呈一个矩形状。售票员从座位管理系统中看到了当前座位情况:# 表示该位置上已经有人了,. 表示该位置上没有人。

请你帮助售票员寻找出这样一个矩形区域,满足小明的座位要求,并输出其面积大小和数量。

输入格式

第一行输入一个整数 PP,表示小明和他的朋友一共 PP 人。

第二行输入两个整数 nnmm,分别表示该电影院座位排数和列数。

接下来输入一个 n×mn \times m 的矩阵,矩阵中,# 表示该位置上已经有人了,. 表示该位置上没有人。

输出格式

若有解,输出两个数字,第一个表示矩形区域的面积,第二个表示满足条件的矩形区域数量。若无解,输出 No

样例数据

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

样例说明

** 样例解释 #1 **

找不到一个矩形区域满足他们的要求。

** 样例解释 #2 **

发现有 55 块矩形区域符合要求,如下所示,编号为 012340、1、2、3、4 四个矩形区域,他们的面积都是 44,且面积是最小的。

0000.      .1111     ..22.      ...33     .....          
.#...      .#...     .#22.      .#.33     .#...
#####      #####     #####      #####     #####
###..      ###..     ###..      ###..     ###44
###..      ###..     ###..      ###..     ###44

** 样例解释 #3 **

###.#
.###0
#####
#####
###00

只有一个矩形区域满足条件,该矩形区域左上角为第二行第四列,右下角为第五行第五列的矩形,面积为 2×4=82 \times 4 = 8,这个面积最小。

数据范围

对于 30%30\% 的数据,1n,m101 \le n, m \le 10

对于 50%50\% 的数据,1n,m501 \le n, m \le 50

对于 100%100\% 的数据,1n,m5001 \le n, m \le 500

1Pn×m1 \le P \le n \times m