#342
Unrated
잠재적 부원 위치 찾기
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

평소 기술에 관심이 많은 서현이는 드론에 장착된 최신형 카메라를 이용해 충남대학교 캠퍼스 사진을 찍고, 자동으로 동아리 부원들의 위치를 찾아내는 시스템을 테스트하고 있다. 하지만 카메라의 기본 알고리즘이 부원들을 제대로 찾지 못해, 서현이는 직접 더 나은 알고리즘을 개발하기로 했다.

카메라가 찍은 캠퍼스 이미지는 NimesNN imes N 크기의 격자로 표현되며, 각 칸은 $A$부터 $Z$까지 26가지 색상 중 하나를 나타내는 문자로 채워져 있다. 서현이는 '잠재적 부원 위치(PCL)'를 다음과 같이 정의한다.

  • PCL은 이미지의 변에 평행한 직사각형 모양의 부분 격자(이미지 전체일 수도 있음)이다.
  • PCL은 다른 어떤 PCL에도 포함되지 않아야 한다. 즉, 더 큰 PCL 내부에 완전히 속하는 직사각형은 PCL이 될 수 없다.
  • 직사각형 내부의 문자들만 고려했을 때, 다음 조건을 만족해야 한다.
    • 정확히 두 종류의 색상만 존재해야 한다.
    • 한 색상은 하나의 연결된 영역을 형성하고, 다른 한 색상은 두 개 이상의 연결된 영역을 형성해야 한다.

예를 들어, 다음과 같은 직사각형은 PCL이 될 수 있다.

AAAAA
ABABA
AAABB

이 예시에서 $A$는 하나의 연결된 영역을 형성하고, $B$는 두 개의 연결된 영역(중앙의 $B$와 오른쪽 아래의 $B$들)을 형성하기 때문이다. 이는 색상 $A$인 부원이 색상 $B$인 무늬가 있는 옷을 입고 있는 것으로 해석할 수 있다.

여기서 '연결된 영역'이란, 영역 내의 한 칸에서 다른 칸으로 상, 하, 좌, 우로만 이동하여 영역 전체를 탐색할 수 있는 상태를 의미한다.

카메라가 찍은 이미지가 주어질 때, PCL의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 격자의 크기 NN이 주어진다. (1\eqN\eq201 \eq N \eq 20)

이어서 NN개의 줄에 걸쳐 이미지를 나타내는 NN개의 문자가 주어진다.

출력

이미지에서 찾을 수 있는 PCL의 개수를 출력한다.

예제 입력 1

4
ABBC
BBBC
AABB
ABBC

예제 출력 1

2
코드 제출

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

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