공주님의 정원
시간 제한1초메모리 제한192 MB
3월 1일부터 11월 30일까지 매일 꽃이 피어 있도록 개화 구간들을 최소 개수로 선택하는 방법을 구하고, 불가능하면 0을 출력합니다.
문제
공주님이 태어난 날을 기념하기 위해, 왕은 3월 1일부터 11월 30일까지 매일 꽃이 피어 있는 작은 정원을 만들고자 한다.
총 N개의 꽃이 있다. 각 꽃은 같은 해 안에서 피고 지며, 피는 날짜와 지는 날짜가 정해져 있다. 꽃이 5월 8일에 피고 6월 13일에 진다면, 이 꽃은 5월 8일부터 6월 12일까지 피어 있고 6월 13일부터는 볼 수 없다.
올해의 달별 날짜 수는 다음과 같다.
- 4, 6, 9, 11월: 30일
- 1, 3, 5, 7, 8, 10, 12월: 31일
- 2월: 28일
주어진 꽃들 중 일부를 골라 다음 두 조건을 모두 만족시키려 한다.
- 3월 1일부터 11월 30일까지 매일 적어도 한 종류의 꽃이 피어 있어야 한다.
- 선택한 꽃의 수는 가능한 한 적어야 한다.
조건을 만족하도록 꽃을 고를 때 필요한 꽃의 최소 개수를 구하시오.
입력
첫째 줄에 꽃의 개수 N이 주어진다. (1 <= N <= 100,000)
다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 정수로 표현된다. 예를 들어 3 8 7 31은 꽃이 3월 8일에 피고 7월 31일에 진다는 뜻이다.
출력
3월 1일부터 11월 30일까지 매일 꽃이 피어 있도록 고를 수 있는 꽃의 최소 개수를 출력한다.
조건을 만족하는 선택이 불가능하면 0을 출력한다.