GPLT选拔赛的题目又复刻了!
czq是hyf(Happy Yummy Factory)工厂的仓库管理员,最近仓库中有 nnn 件材料,这些材料的代号都是一些正整数,其中第 i(1≤i≤n)i(1\le i \le n)i(1≤i≤n) 件材料的代号为 AiA_iAi。巧合的是,hyf工厂目前恰好需要使用 nnn 件材料用于生产,其所需第 i(1≤i≤n)i(1\le i \le n)i(1≤i≤n) 件材料的代号为 BiB_iBi。对于仓库而言,材料的顺序并不重要,也就是说 AAA 和 BBB 都是无序可重复集合。
我们说:两个无序可重复集合 X=YX=YX=Y,当且仅当(视为有序序列时)存在 XXX 的一个排列等于 YYY。
czq发现仓库里的 nnn 件材料可能并不符合生产需求,但是他认识一个慈善家lnc。lnc目前有 mmm 种交易(mmm 可能为 000)可以与czq进行,每种交易可以在任意时候进行任意次。对于第 i(1≤i≤m)i(1\le i \le m)i(1≤i≤m) 种交易,czq可以在仓库中选择任意 cic_ici 件材料给lnc,然后lnc提供 cic_ici 件特定的材料 {D1,...,Dci}\{D_1,...,D_{c_i}\}{D1,...,Dci}。
更正式地,对于第 iii 种操作,czq在 AAA 中选择一个大小为 cic_ici 的子集合 XXX 并移除,然后在 AAA 中加入 {D1,...,Dci}\{D_1,...,D_{c_i}\}{D1,...,Dci}。
由于可以榨干lnc,czq想知道有没有一种交易方案,在经过了最多 nnn 次交易后,可以满足hyf工厂的需求。更正式地,对 AAA 进行最多 nnn 次上述操作使 A=BA=BA=B。
题目可能有多种答案,你只需要输出符合条件的一种答案即可。
第一行一个正整数 nnn,代表仓库中的材料数量;
第二行 nnn 个正整数{A1,...,An}\{A_1,...,A_n\}{A1,...,An},用空格隔开,代表仓库初始的材料;
第三行 nnn 个正整数{B1,...,Bn}\{B_1,...,B_n\}{B1,...,Bn},用空格隔开,代表工厂需要的材料;
第四行一个整数 mmm,代表交易类型的数量;
接下来 mmm 行,第 iii 行开头一个正整数 ci(1≤i≤m)c_i(1\le i \le m)ci(1≤i≤m),然后紧接着 cic_ici 个正整数{D1...Dci}\{D_1...D_{c_i}\}{D1...Dci},用空格隔开,代表可以获得的材料。
题目可能有多种答案,你只需要输出符合条件的一种答案即可。如果无论如何都无法满足工厂的要求,直接在第一行输出 -1。
-1
第一行一个整数 t(0≤t≤n)t(0\le t \le n)t(0≤t≤n),代表总共进行的交易次数。t=0t=0t=0 代表在不需要进行任何交易的情况下,已经满足情况,此时只需要输出 0;
0
接下来输出 ttt 行:
每行开头一个正整数 iii,代表选择的交易类型,然后输入 cic_ici 个正整数 {X1...Xci}\{X_1...X_{c_i}\}{X1...Xci},用空格隔开,表示 AAA 中被交换的集合。
9 1 2 1 1 1 3 3 2 2 1 2 3 1 2 3 1 2 3 1 3 3 3 2
1 1 1 2 3
4 1 1 1 1 2 2 2 2 2 2 1 2 3 1 1 1
对于样例1,进行一次“操作 111 ”将子集 {1,2,3}\{1,2,3\}{1,2,3} 替换为 {3,3,2}\{3,3,2\}{3,3,2} 后,AAA 中 1,2,31,2,31,2,3 的个数都恰好为 333 个,此时 A=BA=BA=B。
对于样例2,很显然,无论进行“操作1”还是“操作2”,AAA 中始终都存在材料 111,因此不存在一种交易方法可以满足要求。
显然,你随机输出 0 或 -1 也能拿到一些分数。
对于100%100\%100%的数据,满足 1≤n≤2000,0≤m≤1001\le n \le 2000, 0\le m \le 1001≤n≤2000,0≤m≤100;
对于100%100\%100%的数据,满足 1≤Ai,Bi,Di≤n,1≤ci≤n1\le A_i,B_i,D_i \le n,1\le c_i \le n1≤Ai,Bi,Di≤n,1≤ci≤n。