끝점이 모두 다른 n개의 닫힌 구간이 주어질 때, 겹치는 구간이 서로 다른 색을 받도록 하는 최소 색의 수를 구한다.
보통4정렬구간그리디배열면접 대비아직 제출이 없습니다시간 제한3초메모리 제한512 MB실수 a≤b에 대해 닫힌구간 [a,b]는 a 이상 b 이하인 모든 실수의 집합이다. 예를 들어 [3,5]={x∈R∣3≤x≤5}이다.
밥에게는 닫힌구간 n개 [a1,b1],[a2,b2],…,[an,bn]이 있다. 서로 다른 두 첨자 i,j∈{1,2,…,n}에 대해 다음이 항상 성립한다.
밥은 각 구간을 한 가지 색으로 칠하되, 서로 겹치는 두 구간은 반드시 다른 색으로 칠하려 한다. 이때 필요한 색의 최소 개수가 궁금하다. 다시 말해 각 구간에 1,2,…,k 중 하나를 붙여서 겹치는 두 구간이 언제나 서로 다른 번호를 받도록 만들 수 있는 가장 작은 양의 정수 k를 구하면 된다. 두 구간이 겹친다는 것은 두 집합의 교집합이 공집합이 아니라는 뜻이다.
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 이어지는 T개의 줄에 각 테스트 케이스가 n, a1, b1, a2, b2, …, an, bn 순서로 주어진다. 한 줄 안에서 이웃한 두 수는 하나 이상의 공백으로 구분된다.
다음을 가정해도 된다.
각 테스트 케이스마다 최소 색 개수 k를 한 줄에 하나씩 출력한다. 즉 [a1,b1],[a2,b2],…,[an,bn]의 각 구간에 1부터 k까지의 번호 중 하나를 붙여서 겹치는 두 구간이 언제나 서로 다른 번호를 받도록 만들 수 있는 가장 작은 양의 정수를 출력한다.