Connect
시간 제한5초메모리 제한512 MB
각 행에 문자열을 순서대로 놓고, 같은 글자가 상하좌우로 인접한 칸 쌍이 가장 많아지는 배치를 구합니다.
문제
퍼즐 'Connect'는 글자 타일 여러 개를 사용하는 혼자 하는 퍼즐이다.
표에 개의 빈 칸이 있다. 각 에 대해 문자열 를 표의 번째 행에 넣어야 한다. 문자의 순서는 바꿀 수 없다. 즉, 를 만족하는 정수 수열 를 고르고, 의 번째 문자를 번째 열에 놓는다.
예를 들어 이고 가 "ICPC"이면 다음과 같이 놓을 수 있다.
I_C_P_C_
ICPC____
_IC___PC
'_'는 빈 칸을 나타낸다.
비어 있지 않은 칸 마다, 와 같은 문자를 가진 인접 칸의 개수만큼 점수를 얻는다. 두 칸은 변을 공유하면 인접한 것이다. 얻을 수 있는 점수 합의 최댓값을 구하라.
입력
첫 줄에 두 정수 과 가 주어진다. 이후 개의 줄에 각각 문자열 가 주어진다. 의 모든 문자는 대문자 알파벳이다.
출력
점수 합의 최댓값을 한 줄에 출력한다.