프로그램 명: koi_cpaper
제한시간: 1 초

크기가 모두 다른 직사각형 모양의 색종이가 여러 장 있다. 색종이를 하나씩 올려놓아, 되도록 많은 장수의 색종이들을 쌓으려고 한다. 새로 한 장의 색종이를 올려놓을 때는 지금까지 쌓아 놓은 색종이들 중 맨 위의 색종이 위에 올려놓아야 하며, 아래의 두 조건을 모두 만족해야 한다.

  1. 새로 올려 놓는 색종이는 맨 위의 색종이보다 크지 않아야 한다. 즉, 맨 위의 색종이 밖으로 나가지 않아야 한다.
  2. 새로 올려 놓는 색종이와 맨 위의 색종이의 변들은 서로 평행해야 한다. (색종이를 90˚ 돌려 놓을 수 있다.)

예를 들어, 아래의 그림 중에서 위의 두 조건을 모두 만족하는 경우는 (나) 뿐이다.

(가)

(나)

(다)

(라)

색종이는 두 변의 길이로 표현된다. (3,5) 는 두 변의 길이가 각각 3과 5인 색종이를 나타낸다. 예를 들어, 다음과 같이 7장의 색종이가 주어졌다고 하자 : (1,2), (8,7), (20,10), (20,20), (15,12), (12,14), (11,12). 위의 두 조건을 만족하면서 가장 많이 쌓을 수 있는 색종이들의 순서는 (20,20), (15,12), (12,14), (11,12), (8,7), (1,2)이다.

입력으로 색종이들이 주어졌을 때, 위의 조건 1과 조건 2를 만족하면서 쌓을 수 있는 최대 색종이 장수를 구하는 프로그램을 작성하시오.

입력

첫 번째 줄에는 색종이 장수가 주어진다. 다음 줄부터 각 줄에 색종이의 두 변의 길이가 주어진다. 두 변의 길이는 한 칸 띄어 주어진다. 색종이의 최대 장수는 100이고, 각 변의 길이는 1000보다 작은 자연수이다.

출력

첫 번째 줄에 쌓을 수 있는 최대 색종이 장수를 출력한다.

입출력 예

입력
 
7
1 2
8 7
20 10
20 20
15 12
12 14
11 12
 
출력
 
6
출처: KOI 출제문제

[질/답] [제출 현황] [푼 후(1)]
[ 채 점 ] [홈으로]  [뒤 로]