#228
Silver II
단어 찾기 암호
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

민영이는 알고리즘 동아리 ANA에서 단어 찾기 퍼즐을 만들었다. 이 퍼즐은 N×MN \times M 크기의 알파벳 격자에서 "MOO"라는 단어를 찾는 게임이다. "MOO"는 가로, 세로, 대각선의 88가지 방향으로 나타날 수 있다.

민영이의 친구 우진이는 민영이가 퍼즐을 너무 빨리 푸는 것을 방지하기 위해 퍼즐의 내용을 "치환 암호"를 이용해 암호화했다. 치환 암호는 알파벳의 각 문자를 다른 문자로 일대일 대응시켜 바꾸는 방식이다. 이때 우진이가 사용한 암호에는 두 가지 규칙이 있다.

  1. 어떤 문자도 자기 자신으로 바뀌지 않는다. (예: 'A'가 'A'로 유지될 수 없다.)
  2. 서로 다른 두 문자가 같은 문자로 바뀌지 않는다.

우진이는 암호화에 사용한 규칙을 잊어버리고 말았다. 암호화된 퍼즐이 주어졌을 때, 규칙을 만족하는 적절한 치환 규칙을 선택하여 해독했을 때 나타날 수 있는 "MOO"의 최대 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 퍼즐의 행 개수 NN과 열 개수 MM이 공백으로 구분되어 주어진다. (1N,M501 \le N, M \le 50)

이어서 NN개의 줄에 걸쳐 각 줄에 MM개의 대문자 알파벳으로 구성된 암호화된 퍼즐의 정보가 주어진다.

출력

규칙을 만족하는 치환 방식을 통해 해독했을 때 얻을 수 있는 "MOO"의 최대 개수를 출력한다.

예제 입력 1

4 6
TAMHGI
MMQVWM
QMMQSM
HBQUMQ

예제 출력 1

6
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Silver II1명 투표· 약 1개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.