Logo
(追記) (追記ここまで)

24515번 - 히히 못가

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1.5 초 (하단 참고)1024 MB60817212426.782%

문제


$N \times N$ 격자 모양의 땅에서 로미오는 가장 왼쪽 위 칸, 줄리엣은 가장 오른쪽 아래 칸에 살고 있다. 로미오는 매일 줄리엣을 만나러 가는데, 상하좌우로 인접한 칸으로 이동할 수 있고 땅 밖으로는 나갈 수 없다.

주변을 어슬렁거리던 솔로 부대 상원이는 로미오와 줄리엣의 만남이 마음에 들지 않는다. 수많은 솔로들의 후원으로 돈이 많은 상원이는 로미오와 줄리엣이 만날 수 없도록 주변 땅을 사버리기로 했다.

땅은 몇 개의 영역으로 구분되어있고 이 영역 단위로만 땅을 살 수 있다. 각 영역의 구분을 위해 격자 칸마다 알파벳 대문자를 적어 놓았는데, 상하좌우로 인접한 두 칸의 알파벳이 같다는 것은 같은 영역에 속한 땅이라는 뜻이다. 어떤 두 칸의 알파벳이 같더라도 연결되어 있지 않다면, 다른 영역에 속할 수 있다.

로미오가 줄리엣을 만나는 것을 막기 위해 상원이가 최소 몇 칸의 땅을 사야 하는지 구해보자.

입력

첫 번째 줄에 $N$이 주어진다. $(2 \le N \le 1,000円)$

두 번째 줄부터 $N$개의 줄에 땅의 정보를 나타내는 알파벳 대문자 $N$개가 주어진다. 단, 로미오와 줄리엣의 위치는 .으로 주어진다.

출력

상원이가 최소 몇 칸의 땅을 사야 하는지 출력한다.

제한

예제 입력 1

6
.BBBAA
CBBAAH
CBGDFH
CBEDFH
CIEFFH
IIEFF.

예제 출력 1

8

예제 입력 2

5
.BABA
ABABA
ABABA
ABABA
ABAB.

예제 출력 2

5

예제 입력 3

4
.YZZ
YYZX
ZZZW
XXX.

예제 출력 3

3

힌트

출처

Camp > ICPC Sinchon Algorithm Camp > 2022 ICPC Sinchon Winter Algorithm Camp Contest > 초급 G번

시간 제한

  • Java 8: 2.5 초
  • Python 3: 8 초
  • PyPy3: 8 초
  • Java 8 (OpenJDK): 2.5 초
  • Java 11: 2.5 초
  • Kotlin (JVM): 2.5 초
  • Java 15: 2.5 초
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /