현대 미술 (Bronze)

시간 제한2초메모리 제한512 MB

요약
완성된 그림이 주어질 때, 첫 번째로 칠해졌을 가능성이 있는 색의 개수를 센다.
난이도

보통10점 중 4점

유형
구현, 완전 탐색, 시뮬레이션
정답자
아직 제출이 없습니다

문제

전 세계 미술 평론가들이 위대한 소 화가 Picowso의 창작 재능을 알아보기 시작한 것은 최근의 일이다.

Picowso는 아주 독특한 방식으로 그림을 그린다. 먼저 N×NN \times N 크기의 빈 캔버스에서 시작하는데, 이 캔버스는 0으로 채워진 N×NN \times N 격자로 나타내며 0은 비어 있는 칸을 뜻한다. 그다음 캔버스에 직사각형 9개를 그린다. 색은 모두 9가지이고 편의상 11부터 99까지 번호가 붙어 있으며, 직사각형 하나마다 서로 다른 색을 하나씩 쓴다. 예를 들어 처음에 색 2로 직사각형을 칠하면 캔버스는 다음과 같다.

2220
2220
2220
0000

이어서 색 7로 직사각형을 칠할 수 있다.

2220
2777
2777
0000

그다음 색 3으로 작은 직사각형을 칠할 수도 있다.

2230
2737
2777
0000

모든 직사각형의 변은 캔버스의 가장자리와 평행하다. 직사각형은 캔버스 전체만큼 클 수도 있고, 칸 하나만큼 작을 수도 있다. 11부터 99까지의 색은 각각 정확히 한 번씩 쓰이지만, 나중에 칠한 색이 앞서 칠한 색을 완전히 덮어 버릴 수도 있다.

캔버스의 최종 상태가 주어질 때, 캔버스에 아직 보이는 색 가운데 가장 먼저 칠해졌을 가능성이 있는 색이 몇 개인지 구하라.

입력

첫째 줄에 캔버스의 크기 NN이 주어진다. (1≤N≤101 \leq N \leq 10)

다음 NN개의 줄에는 캔버스의 최종 모습이 주어진다. 각 줄은 00 이상 99 이하의 숫자 NN개가 공백 없이 이어진 문자열이다.

입력은 위에서 설명한 방식대로, 서로 다른 색의 직사각형을 차례로 칠해서 만들어진 그림임이 보장된다.

출력

최종 캔버스에 보이는 색 가운데 가장 먼저 칠해졌을 수 있는 색의 개수를 출력한다.

힌트

첫 번째 예제에서는 색 2만 가장 먼저 칠해졌을 수 있다. 색 3은 반드시 색 7보다 나중에 칠해졌고, 색 7은 반드시 색 2보다 나중에 칠해졌다.

예제1

  1. 예제 1

    입력
    4
    2230
    2737
    2777
    0000
    
    예상 출력
    1