#P14197. [ICPC 2024 Hangzhou R] Kind of Bingo
[ICPC 2024 Hangzhou R] Kind of Bingo
Description
有一个由 行 列组成的网格。网格中的每个单元格从 到 编号,第 行第 列的单元格编号为 。
给定一个 长度的排列 ,我们将按照该排列进行 次操作。第 次操作时,我们会标记单元格 。如果在第 次操作后,存在至少一行的所有单元格都被标记,并且 尽可能小,则称 为该排列的“bingo 数”。
你最多可以对该排列进行 次修改(也可以不修改)。每次修改可以交换排列中的任意两个元素。请计算在最多经过 次修改后,最小可能的 bingo 数。
注意,若一个长度为 的序列 每个整数 到 各出现一次,那么它是 的一个排列。
Input Format
输入包含多组测试数据。第一行为整数 (),表示数据组数。每组测试数据输入如下:
第一行包含三个整数 、 和 (,,),分别表示网格的行数、列数和你可以进行交换的最大次数。
第二行包含 个不同的整数 ()。
保证所有测试数据中 的总和不超过 。
Output Format
对于每组测试数据,输出一行一个整数,表示经过最多 次修改后,最小可能的 bingo 数。
3
3 5 2
1 4 13 6 8 11 14 2 7 10 3 15 9 5 12
2 3 0
1 6 4 3 5 2
2 3 1000000000
1 2 3 4 5 6
7
5
3
Hint
对于第一个样例,我们可以先交换 和 ,再交换 和 ,得到序列 $[15, 4, 13, 12, 8, 11, 14, 2, 7, 10, 3, 1, 9, 5, 6]$。可以发现第 次操作后,第 行的所有单元格都被标记。
对于第二个样例,很容易发现第 次操作后,第 行的所有单元格都被标记。
对于第三个样例,不需要做任何修改。第 次操作后,第 行的所有单元格都被标记。
由 ChatGPT 5 翻译
京公网安备 11011102002149号