P16889 [GKS 2022 #F] Sort the Fabrics

题目描述

一块织物由以下 $3$ 个属性表示: - 颜色($C$),一个由小写英文字母组成的字符串,表示织物的颜色。 - 耐久度($D$),一个整数,表示织物的耐久度。 - 唯一标识符($U$),一个整数,表示织物的 ID。 Ada 和 Charles 在 Kick Start 织物工厂工作。每天他们会收到 $N$ 块织物,其中一人必须对它们进行排序。他们使用以下标准进行排序: - Ada 按颜色($C$)的字典序递增顺序排序。 - Charles 按耐久度($D$)的升序排序。 - 当出现并列时,他们按唯一标识符($U$)的升序打破平局。 给定 $N$ 块织物,请统计有多少块织物在 Ada 排序和 Charles 排序后处于相同的位置。

输入格式

输入的第一行给出测试用例的数量 $T$。接下来有 $T$ 个测试用例。 每个测试用例的第一行包含一个整数 $N$,表示织物的数量。 接下来的 $N$ 行,每行包含一个字符串 $C_i$、一个整数 $D_i$ 和一个整数 $U_i$,分别表示第 $i$ 块织物的颜色、耐久度和唯一标识符。

输出格式

对于每个测试用例,输出一行,格式为 `Case #x: y`,其中 $x$ 是测试用例编号(从 $1$ 开始),$y$ 是无论按颜色排序还是按耐久度排序都处于相同位置的织物数量。

说明/提示

在样例 #1 中,按颜色排序时,用唯一标识符表示的织物顺序为 $1$ 和 $2$。按耐久度排序时,织物顺序为 $2$ 和 $1$。因此,没有织物在按颜色或耐久度排序时处于相同位置。 在样例 #2 中,按颜色排序时,用唯一标识符表示的织物顺序为 $1$ 和 $2$。按耐久度排序时,织物顺序也是 $1$ 和 $2$。因此,有 $2$ 块织物处于相同位置。注意,两块织物的耐久度相同,所以 Charles 排序时,因为标识符更小,他认为织物 $1$ 在前面。 在样例 #3 中,由于只有 $1$ 块织物,无论按颜色还是耐久度排序,它的位置都保持不变。 ### 限制条件 $1 \le T \le 100$。 $1 \le \text{字符串 } C_i \text{ 的长度} \le 10$。 字符串 $C_i$ 仅由小写英文字母组成。 没有两块织物具有相同的 $U_i$。 **测试集 1** $1 \le N \le 2$。 $1 \le D_i \le 2$。 $1 \le U_i \le 2$。 **测试集 2** $1 \le N \le 10^3$。 $1 \le D_i \le 10^2$。 $1 \le U_i \le 10^3$。 翻译由 DeepSeek V4 Pro 完成