#P13115. [GCJ 2019 #2] New Elements: Part 1

[GCJ 2019 #2] New Elements: Part 1

题目描述

本题的前两段(不包括本段)与“New Elements: Part 2”完全相同。除此之外,这两道题可以独立解决;你无需阅读或解决其中一道即可理解或解决另一道。

Muriel 正在探索两种新元素,并将它们命名为 Codium 和 Jamarium。她尚未能够分离出这两种元素,但她希望通过间接方法研究它们的一些重要性质,比如它们的原子量。由于 Muriel 只研究 Codium 和 Jamarium 的单一同位素,因此它们的原子量都是严格正整数。

Muriel 成功合成了 N\mathbf{N} 种不同的分子,每种分子都只包含一种或多种 Codium 原子和一种或多种 Jamarium 原子,不含其他元素。对于每种分子,她都知道其中包含的每种元素的原子数。分子的分子量等于其所含所有原子的原子量之和。

为了进一步确定分子的精确分子量以及两种元素的原子量,Muriel 首先希望将这些分子按分子量严格递增的顺序排序。为了评估这个任务的难度,她想知道在当前信息下,有多少种排序方式是有效的。一个分子的排序被认为是有效的,当且仅当存在 Codium 和 Jamarium 的原子量的取值,使得该排序下分子的分子量严格递增。

举个例子,我们用每个分子中 Codium 和 Jamarium 原子的数量对其进行表示。如果 Muriel 有 3 个分子,分别为 (1,1)(1, 1)、(2,1)(2, 1) 和 (1,2)(1, 2),则有两种可能的排序可以使分子量严格递增:(1,1)(1, 1)、(1,2)(1, 2)、(2,1)(2, 1) 和 (1,1)(1, 1)、(2,1)(2, 1)、(1,2)(1, 2)。第一种排序在 Codium 比 Jamarium 重时成立,第二种排序在 Jamarium 比 Codium 重时成立。剩下的唯一情况是 Codium 和 Jamarium 的原子量相等,此时 (1,2)(1, 2) 和 (2,1)(2, 1) 的分子量相等,因此无法得到严格递增的排序。

输入格式

输入的第一行为测试用例数 T\mathbf{T}。接下来有 T\mathbf{T} 组测试数据。每组测试数据的第一行为一个整数 N\mathbf{N},表示分子的数量。接下来的 N\mathbf{N} 行,每行包含两个整数 Ci\mathbf{C_i} 和 Ji\mathbf{J_i},分别表示第 ii 个分子中 Codium 和 Jamarium 的原子数。

输出格式

对于每组测试数据,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 1 开始),yy 是满足条件的有效排序总数。

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)(1, 2)、(2,1)(2, 1)、(2,4)(2, 4)、(4,2)(4, 2) 和 (2,1)(2, 1)、(1,2)(1, 2)、(4,2)(4, 2)、(2,4)(2, 4)。注意,排序 (1,2)(1, 2)、(2,1)(2, 1)、(2,4)(2, 4)、(4,2)(4, 2)、(2,4)(2, 4) 是无效的,因为如果 (1,2)(1, 2) 的分子量严格小于 (2,1)(2, 1),那么 (2,4)(2, 4)(正好是 (1,2)(1, 2) 的两倍)也必须严格小于 (4,2)(4, 2)(正好是 (2,1)(2, 1) 的两倍)。

数据范围

  • 1⩽T⩽1001 \leqslant \mathbf{T} \leqslant 100。
  • 1⩽Ci⩽1091 \leqslant \mathbf{C_i} \leqslant 10^9,对所有 ii。
  • 1⩽Ji⩽1091 \leqslant \mathbf{J_i} \leqslant 10^9,对所有 ii。
  • 对于所有 i≠ji \neq j,$(\mathbf{C_i}, \mathbf{J_i}) \neq (\mathbf{C_j}, \mathbf{J_j})$(所有分子都不同)。

测试点 1(8 分,可见)

  • 2⩽N⩽62 \leqslant \mathbf{N} \leqslant 6。

测试点 2(14 分,隐藏)

  • 2⩽N⩽3002 \leqslant \mathbf{N} \leqslant 300。

由 ChatGPT 4.1 翻译