시간 제한
메모리 제한
시간 제한
5초
메모리 제한
128 MB
상근이는 프로그램을 디버깅하다가, 프로그램 메모리 안의 어떤 정사각형 패턴이 버그와 깊은 관련이 있다는 사실을 알게 되었다.
프로그램 메모리는 0과 1로만 이루어진 R행 C열 행렬이다.
정사각형 킬러는 한 글자보다 큰 정사각형 부분 행렬 중에서, 그 부분 행렬을 180도 회전해도 원래 모습과 같은 것이다. 즉, 크기가 K인 정사각형 킬러는 모든 0 <= i, j < K에 대해 왼쪽 위에서 (i, j)에 있는 문자와 오른쪽 아래에서 대칭인 (K-1-i, K-1-j)에 있는 문자가 같다.
프로그램 메모리가 주어졌을 때, 가장 큰 정사각형 킬러의 크기를 구하시오. 정사각형 킬러의 크기는 부분 행렬의 행 개수이자 열 개수이다.
첫째 줄에 300보다 작거나 같은 자연수 R과 C가 주어진다.
다음 R개의 줄에는 길이가 C인 문자열이 주어진다. 각 문자는 0 또는 1이며, 문자 사이에 공백은 없다.
가장 큰 정사각형 킬러의 크기를 출력한다.
정사각형 킬러가 하나도 없다면 -1을 출력한다.