Informatica Online Judge

  모던 아트 [1994 / 07CA]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 12   Total Tried : 13


The Champion of this Problem (C++) : icp1481 - 0ms / 522byte
My Best Submission (C++) : N/A

[USACO]

Background

전 세계의 예술 비평가들이 위대한 화가 소인 피카우소의 창의적인 천재성을 인정하기 시작했다.
피카우소의 그림들은 매우 특별한 방법으로 만들어진다. 처음에 n*n 크기의 빈 캔버스에서 그리기 시작하는데, 처음 캔버스의 상태는 n*n 크기에 아무 것도 그려진 것이 없기 때문에 모두 0으로 채워진 것으로 생각할 수 있다.
그 다음에는 9개의 색(1~9) 중 한 가지 색을 사용해, 캔버스의 9개의 칸을 채운다. 예를 들어, 2번 색으로 처음에 9개의 채우면 다음과 같이 된다.

2220
2220
2220
0000

그 다음에는 7번 색을 이용해서 다음과 같이 다시 그릴 수 있다.

2220
2777
2777
0000

그리고 다시, 3번 색을 이용해서 다음과 같이 그릴 수 있다.

2230
2737
2777
0000

피카우소가 그리는 사각형은 사각형 캔버스에 평행하게 그리며, 사각형의 크기는 1개 크기부터, 캔버스 전체 크기까지 될 수 있다.
1~9까지 정확히 한 번씩 색이 모두 사용되어야하고, 나중에 그린 사각형이 이전에 그렸던 사각형을 모두 덮을 수도 있다.

캔버스의 마지막 상태가 주어질 때, 캔버스에서 보이는 색 중에서 가장 먼저 그려진 색으로 가능한 색의 갯수를 출력해보자.

Input

첫 번째 줄에는 캔버스의 크기(1 <= n <= 10) 가 입력된다.
두 번째 줄부터 n줄에 걸쳐, n*n 크기의 마지막 캔버스 상태가 입력된다.

Output

캔버스에 남아있는 색 중에서 가장 처음에 그린 사각형의 색으로 가능한 색의 갯수를 출력한다.

IO Example

입력
4
2230
2737
2777
0000

출력
1

2 만 가장 처음에 그려진 색으로 가능하다.

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]