#P2177. 内存杀手

内存杀手

题目背景

我们伟大的KK突然想到了一个很高(Shā)明(bī)的问题。

题目描述

我们伟大的 KK 最近一段时间突然迷上了电影,但是他从来不去电影院,因为他口袋里没有一分钱,更因为没人陪他去!但是 KK 不是这么容易就会屈服于命远的,他从爸爸那里“偷”来了电脑,没日没夜的进入了疯狂刷电影状态。

显然我们的 KK 在任何情况下都会出现问题的:KK 习惯于用“百度影音”这个神奇的软件。众所周知,这个软件具备一个牛犇的功能,他可以一边看一边下载,然后,KK 每次都不会在线观看,而是连着 wifi(哇~~还说没钱!)看,然后的然后KK发现电脑开始变得卡起来了,为了在爸爸突击检查时能够准确准时的将电脑关闭归位,KK 不得不干起了电脑修理师的工作。

KK 翻查了注册表(这都懂?!牛~),发现罪魁祸首竟是存在于一个内存区域中的一个正方形方阵。现在我们的 KK 简单的称呼这种方阵为“内存杀手”,他对于这个“内存杀手”的定义是边长大于 11,且在旋转了 180°180\degree 之后方阵仍与原来保持不变,如:

$$\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}, \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}, \begin{bmatrix} 1 & 0 & 1 \\ 1 & 1 & 1 \\ 1 & 0 & 1 \end{bmatrix} $$

当然,一个内存区域中“内存杀手”可能不止一个的,现在我们的 KK 想找出这个方阵中最大的“内存杀手”的边长。

输入格式

N+1N+1 行,第一行两个整数 N,MN,M,表示内存矩阵的大小。第 2N+12 \sim N+1 行,每行 MM 个字符表示内存矩阵。

输出格式

共一行,即最大的内存杀手边长;若不存在,则输出 1-1

3 6
101010
111001
101001
3

提示

数据范围及约定

  • 对于 30%30\% 的数据 0<N0<NM100M \le 100
  • 对于 60%60\% 的数据 0<N0<NM200M \le 200
  • 对于 100%100\% 的数据 0<N0<NM300M \le 300