페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#1059

도미노 잇기 1s 256MB

문제

도미노란 2개의 정사각형을 붙여 2x1의 사각형의 형태를 띠는 블록을 뜻한다. 

각 정 사각형에는 0개부터 6개의 점이 찍혀 있다.

알다시피 도미노로 하는 게임은 무궁무진하다고 말 할 수 있을 정도로 많이 있다. 

그 중에 가장 많이 행해지는 게임은 도미노를 이어 붙이는 게임인데 아래의 그림과 같이 점의 개수가 같은 정사각형을 가진 도미노를 잇는 게임이다.

 

 

위에서 보다 시피 한 정사각형에는 반드시 자신과 동일한 점의 개수를 가지는 다른 도미노의 정사각형을 한 개만 이어 붙여야 한다. 

 

나타날 수 있는 도미노 블록의 종류는 다음과 같다:

0-0, 0-1, 0-2, 0-3, 0-4, 0-5, 0-6, 

1-1, 1-2, 1-3, 1-4, 1-5, 1-6,

2-2, 2-3, 2-4, 2-5, 2-6, 

3-3, 3-4, 3-5, 3-6, 

4-4, 4-5, 4-6, 

5-5, 5-6, 

6-6. 

 

도미노는 양쪽으로 자유자재로 사용 할 수 있다. 

 

예를 들어 1-6의 경우 1/6 혹은 6/1로 사용이 가능하다는 것이다. 

사용 가능한 도미노가 주어졌을 때 얼마나 많은 도미노를 이을 수 있는지를 알아보는 프로그램을 작성하라. 

같은 종류의 도미노는 여러 번 나올 수 있다.


입력

첫 번째 줄에는 도미노의 개수 N(1≤N≤1,000)이 입력된다. 

그 다음 줄부터는 사용 가능한 N 개의 도미노의 종류에 대한 입력이 들어오는데 

한 줄은 도미노 블록 하나를 뜻하며 2개의 숫자는 도미노의 정사각형에 찍혀있는 점의 개수를 뜻한다.


출력

입력에 대해 가장 길게 이을 수 있는 도미노의 개수를 출력한다.


예제

6

2 5
0 1
1 6
2 3
1 2
4 5
4

출처

ACM/ICPC Indonesia National Cont 2007

로그인해야 코드를 작성할 수 있어요.