题目描述
众所周知,Alice 和 Bob 是一对好朋友。今天,他们约好一起玩游戏。
一开始,他们各自有一张空白的纸条。接下来,他们会在纸条上依次写 n 个 [1,m] 范围内的正整数。等 Alice 写完,Bob 在看到 Alice 写的纸条之后开始写他的纸条。
Alice 需要保证她写下的第 i 个数在集合 Si 中,Bob 需要保证他写下的第 i 个数在集合 Ti 中。题目保证 1≤∣Si∣,∣Ti∣≤2 。
Alice 喜欢相同,因此,她希望她写下的数与 Bob 写下的数对应位置相同的个数尽量多。Bob 喜欢不同,因此,他希望他写下的 n 个数 b1,…,bn 互不相同。在此基础上,Bob 希望他写下的数与 Alice 写下的数对应位置相同的个数尽量少。
即设 Alice 写下的数为 a1,…,an,Bob 写下的数为 b1,…,bn,记 X 为满足 1≤i≤n,ai=bi 的下标 i 的个数,则
- Alice 希望最大化 X,
- Bob 在保证 b1,…,bn 互不相同的前提下希望最小化 X。
你首先想知道 Bob 能否保证他写下的 n 个数互不相同。如果 Bob 能够做到,你想知道在双方均采取最优策略的前提下 X 的值会是多少。
输入格式
本题有多组测试数据。
输入的第一行包含一个正整数 T,表示测试数据组数。
接下来包含 T 组数据,每组数据的格式如下:
第一行包含两个正整数 n,m,表示纸条上需要写的数的个数和数的值域。
接下来 n 行,每行输入的第一个整数为 ∣Si∣ 表示集合 Si 的元素个数,接下来输入 ∣Si∣ 个正整数描述 Si 中的元素。
接下来 n 行,每行输入的第一个整数为 ∣Ti∣ 表示集合 Ti 的元素个数,接下来输入 ∣Ti∣ 个正整数描述 Ti 中的元素。
输出格式
对于每组测试数据输出一行:若 Bob 无法做到他写下的 n 个数互不相同,输出 -1
;否则输出在双方均予取最优策略的前提下 X 的值。
1
3 4
1 3
2 1 2
2 3 4
2 1 2
2 2 3
2 3 4
1
样例 1 解释
在这组样例中,$S_{1}=\{3\}, S_{2}=T_{1}=\{1,2\}, S_{3}=T_{3}=\{3,4\}, T_{2}=\{2,3\}$。Alice 的填法有 4 种,列举如下:
第一种:a1=3,a2=1,a3=3。
第二种:a1=3,a2=1,a3=4。
第三种:a1=3,a2=2,a3=3。
第四种:a1=3,a2=2,a3=4。
由于 Bob 必须保证他所填的数互不相同,所以他有以下填法:
第一种:b1=1,b2=2,b3=3。
第二种:b1=2,b3=3,b3=4。
第三种:b1=1,b2=2,b3=4。
第四种:b1=1,b2=3,b3=4。
若 Alice 选择第一种填法,则 Bob 为最小化 X,选择第二种填法,得到 X=0。
若 Alice 选择第二种填法,则 Bob 为最小化 X,选择第一种填法,得到 X=0。
若 Alice 选择第三种填法,则 Bob 为最小化 X,选择第一种填法,得到 X=0。
若 Alice 选择第四种填法,则 Bob 无论选择哪种填法,X 均不小于 1。
因此,Alice 为最大化 X 的值,她会选择第四种填法。
样例 2
见附加文件的 game2.in
和 game2.ans
。
样例 3
见附加文件的 game3.in
和 game3.ans
。
样例 4
见附加文件的 game4.in
和 game4.ans
。
样例 5
见附加文件的 game5.in
和 game5.ans
。
样例 6
见附加文件的 game6.in
和 game6.ans
。
样例 7
见附加文件的 game7.in
和 game7.ans
。
样例 8
见附加文件的 game8.in
和 game8.ans
。
样例 9
见附加文件的 game9.in
和 game9.ans
。
子任务
表格中 ∑n,∑m 分别表示同个测试点内所有测试数据的 n 总和和 m 总和。∑n2,∑m2,∑n3,∑m3 的含义类似。
特殊性质 A:对于任何 1≤i≤n,Si 和 Ti 互不相交,即 Si∩Ti=∅。
特殊性质 B:n≥3,且对于任何 1≤i<n,T1={i,i+1},且 Tn={n,1}。
特殊性质 C:对于任何 1≤i≤n,∣Si∣=1。
特殊性质 D:对于任何 1≤i≤n,Si=Ti。
提示
本题部分测试点读入规模较大,我们建议你采取效率较高的读入方式。