문제
정수
하나의 구간 집합
이때, 합집합이 이루는 연결된 구간(connected components) 의 개수를
정수
모든
입력
첫 줄에 두 정수
다음
출력
모든 부분집합
예제
3 2
1 6
2 3
4 5
10
선분 집합의 복잡도는 “합집합이 이루는 연결 구간의 개수의 제곱(K=2이므로 제곱)”이다.
공집합의 복잡도는 0^2 = 0 이고, 예제 설명에서는 빈 집합을 제외한 모든 부분집합의 복잡도를 나열하고 있다.
선분을 편의상
A = [1, 6], B = [2, 3], C = [4, 5] 라고 하자.
{A} → 합집합은 [1, 6] 한 구간 → 연결 구간 1개 → 복잡도 1^2 = 1
{B} → [2, 3] → 1개 → 1
{C} → [4, 5] → 1개 → 1
{A, B} → [1, 6]과 [2, 3]의 합집합은 여전히 [1, 6] 하나 → 1개 → 1
{A, C} → [1, 6]과 [4, 5]의 합집합도 [1, 6] 하나 → 1개 → 1
{B, C} → [2,3] ∪ [4,5] 는 서로 떨어진 두 구간 → 연결 구간 2개 → 복잡도 2^2 = 4
{A, B, C} → 세 선분의 합집합은 [1, 6] 하나 → 1개 → 1
따라서 (공집합을 제외한) 복잡도의 합은
1 + 1 + 1 + 1 + 1 + 4 + 1 = 10 이고, 정답은 10이다.