Symmetry
시간 제한2초메모리 제한1024 MB
연속한 행과 짝수 개의 연속한 열로 이루어진 부분 격자 중 세로 중심축에 대해 대칭인 것의 개수를 센다.
문제
크기의 격자 가 주어진다. 격자의 행 열에 해당하는 칸에는 알파벳 대문자 가 쓰여 있다.
다음 조건을 만족하는 격자를 대칭 격자라고 한다.
- 개 이상의 행과 개 이상의 짝수 개 열을 포함하고 있다.
- 격자의 정 가운데 세로축을 기준으로 격자를 접었을 때 맞닿아 있는 문자가 모두 동일하다.
- 구체적으로, 어떤 격자 의 크기가 라 했을 때, ; 를 만족하는 모든 에 대해 이다.
주어진 격자 에서 연속한 몇 개의 행과 연속한 몇 개의 열을 골라서 만들 수 있는 모든 부분 격자 중, 대칭 격자인 것의 개수를 출력하라.
입력
첫째 줄에 격자 의 행 개수 과 열 개수 이 공백으로 구분되어 주어진다.
다음 개의 줄에는 이 공백 없이 주어진다. 는 격자 의 행 열에 쓰여진 문자를 의미하며, 알파벳 대문자 중 하나이다.
출력
주어진 격자 의 연속한 모든 부분 격자 중, 대칭 격자인 것의 개수를 출력한다.
힌트
이 문제는 Python3를 이용하여 풀 수 있음을 보장할 수 없다. Python을 사용한다면, PyPy3가 Python3와 같은 문법을 가지면서 일반적으로 더 빠르게 동작하기에 PyPy3로 제출하는 것을 권장한다.