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

#10341

새 원소: 1부 20s 1024MB

문제

이 문제의 처음 두 문단(이 문단은 제외)과 "New Elements: Part 2"의 처음 두 문단은 동일하다. 그 외의 내용은 서로 독립적이며, 한 문제를 읽거나 풀기 위해 다른 문제를 읽거나 풀 필요는 없다.

뮤리엘(Muriel)은 자신이 코듐(Codium)과 자마리움(Jamarium)이라고 이름 붙인 두 새로운 원소를 발견하기 직전이다. 아직 그것들을 분리해내지는 못했지만, 원자량 같은 중요한 성질을 간접적인 방법으로 조사하기 시작하고 싶다. 뮤리엘은 코듐의 한 동위원소와 자마리움의 한 동위원소만을 다루고 있으므로, 각 원자량은 양의 정수이다.

뮤리엘은 서로 다른 N개의 분자를 만들어 냈다. 각 분자는 코듐 원자 1개 이상과 자마리움 원자 1개 이상을 포함하며, 다른 원소는 포함하지 않는다. 각 분자에 대해, 그 안에 각 원소의 원자가 몇 개 들어 있는지 알고 있다. 분자의 분자량은 그 분자가 포함하는 모든 원자의 원자량을 합한 값이다.

각 분자의 정확한 분자량과 두 원소의 원자량을 알아내기 위한 첫 단계로, 뮤리엘은 분자량이 엄격히 증가하도록 분자들을 정렬하고 싶다. 그 작업이 얼마나 어려운지 가늠하기 위해, 현재 가진 정보만 고려했을 때 유효한 정렬 순서가 몇 가지인지 알고 싶다. 분자들의 한 정렬이 유효하다는 것은, 코듐과 자마리움의 원자량에 어떤 값을 줄 때 그 정렬이 분자량 기준으로 엄격히 증가하도록 만들 수 있음을 뜻한다.

예를 들어 각 분자를 (코듐 원자 수, 자마리움 원자 수)라는 순서쌍으로 나타내자. 뮤리엘이 (1, 1), (2, 1), (1, 2)라는 세 분자를 가지고 있다면, 분자량이 엄격히 증가하도록 만들 수 있는 정렬은 다음 두 가지뿐이다: (1, 1), (1, 2), (2, 1) 그리고 (1, 1), (2, 1), (1, 2). 첫 번째 정렬은 코듐이 두 원소 중 더 무거운 경우(코듐의 원자량이 더 큰 경우)라면 어떤 원자량 배정에서도 유효하고, 두 번째 정렬은 자마리움이 더 무거운 경우라면 어떤 배정에서도 유효하다. 남은 경우는 코듐과 자마리움의 원자량이 같은 경우인데, 이때는 (1, 2)와 (2, 1)의 분자량이 같아지므로, 그 상황에서는 분자량이 엄격히 증가하는 정렬을 만들 수 없다.


입력

입력의 첫 줄에는 테스트 케이스 수 T가 주어진다. T개의 테스트 케이스가 이어진다. 각 테스트 케이스의 첫 줄에는 분자 수 N이 주어진다. 이어서 N줄이 주어지며, 각 줄은 서로 다른 분자 하나를 설명하는 두 정수 Ci, Ji로 이루어진다. 이는 각각 i번째 분자에 들어 있는 코듐 원자 수와 자마리움 원자 수를 나타낸다.


출력

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력하라. 여기서 x는 (1부터 시작하는) 테스트 케이스 번호이고, y는 위에서 정의한 유효한 정렬의 총 개수이다.


예제

3
3
1 1
1 2
2 1
4
1 2
2 4
2 1
4 2
3
1 2
1 3
2 3
Case #1: 2
Case #2: 2
Case #3: 1
샘플 케이스 #1은 본문에서 설명한다. 샘플 케이스 #2에서 가능한 두 정렬은 (1, 2), (2, 1), (2, 4), (4, 2)와 (2, 1), (1, 2), (4, 2), (2, 4)이다. 정렬 (1, 2), (2, 1), (4, 2), (2, 4)가 유효하지 않은 이유는, (1, 2)가 (2, 1)보다 엄격히 가볍다면 (1, 2)보다 정확히 두 배 무거운 (2, 4)는 (2, 1)보다 정확히 두 배 무거운 (4, 2)보다도 엄격히 가벼워야 하기 때문이다.

출처

GCJ 2019r2 A

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