문제
정원은 세로
정원의 토양은 별로 풍족하지 않기 때문에 각 구획에는 특정한 종류의 색의 꽃을 최대 한 개까지 심을 수 있다. 구체적으로는, 구획
정원의 관리자는 항공사진을 찍었을 때의 보기 좋게 하기 위해 다음의 순서로 꽃을 심을 것으로 생각하고 있다.
크기를 나타내는 정수
r 을 결정한다. 단,0 ≤ r ≤ (N-1) ÷ 2 를 만족해야 한다.중심을 나타내는 구획
(x, y) 를 결정한다. 그러나r + 1≤x≤N-r,\ r+1≤y≤N-r 을 만족해야 한다.색
c_0 , c_1 , c_2 , ..., c_r 을 각각 적색, 노랑, 청색 중에서 선택하여 결정한다.각 구획
(x ', y') 에 대해d = | x'-x | + | y'-y | 에 따라 다음 규칙으로 꽃을 심는다.| t | 는t 의 절대 값을 의미한다.d≤r 이면, 구획(x', y') 에는 색c_d 의 꽃을 심는다.d> r 이면, 구획(x', y') 에는 꽃을 심지 않는다.
정원의 크기, 각 구획에 심을 수 있는 꽃의 색의 정보가 주어졌을 때, 정원의 관리자가 심을 수 있는 꽃의 수의 최대치를 구하는 프로그램을 작성하라.
입력
입력은 다음 형식으로 주어진다.
︙
3 \le N \le 3\ 500 A_{i, j} 는R,\ Y,\ B 중 하나다 (1≤i≤N ,1≤j≤N )N 은 정수다.
출력
첫 줄에 정원 관리자가 심을 수 있는 꽃의 최대 수를 출력한다.
부분문제
번호 | 점수 | 조건 |
---|---|---|
#1 | 4점 | |
#2 | 13점 | |
#3 | 17점 | |
#4 | 14점 | A i, j ≠ R 를 만족하는 (i, j) ( 1 ≤ i ≤ N, 1 ≤ j ≤ N )은 5 개 이하이다. |
#5 | 16점 | 모든 (i, j) ( 1 ≤ i ≤ N-1, 1 ≤ j ≤ N-1 )에 대해 A i, j , A i, j+1 , A i+1, j , A i+1, j + 1 내에 R는 3 개 이상 존재한다 |
#6 | 36점 | 추가 제한 없음 |
예제1
3
RYR
YBY
BYY
5
![](https://s.jungol.co.kr/board/77747/1rwOSxo6eIyQLlVDgONdXJ.webp)
이 입력 예제는 부분 문제
예제2
9
YYRYBBBYR
BYYRRBYBB
RBRRBRBBY
RYRBRYRBR
YYBRYYYRB
RRYBRYRBR
RBYRBRBRB
BRYYRBBBR
RBBBYBRRY
25
![](https://s.jungol.co.kr/board/77747/1pClqGL0or5q6E2kxf3-jV.webp)
이 입력 예는 부분 문제 2, 3, 6 의 제약 조건을 충족한다.
예제3
6
RBYRBY
BYRBYR
YRBYRB
RBYRBY
BYRBYR
YRBYRB
1
예제4
20
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRBRRRRRRRRRRRRYRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRYRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRYRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRBR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRR
85
예제5
10
RRRRRRRRRR
RYRRRRRRRR
RRRRYRRRRR
RBRRRRRRRR
RRRRRRRRYR
RBRRRRRRRR
RRRRBRRRRR
RBRRRRRRRR
RRRRRRRRYR
RRRRRRRRRR
25