2022 年上海市大学生程序设计竞赛 - 十二月赛

C. 卡牌游戏

单点时限: 3.0 sec

内存限制: 1024 MB

$$
\text{Powered by Huawei}
$$
周末,数学系寝室的几个同学打算玩一个彩色卡牌小游戏放松一下。
游戏中有一个评委,评委手中有最多$9$张判定卡牌,每张判定卡牌上包含$3$个信息:卡牌牌号$M\ (M <= 255,正整数)$,卡牌匹配色$C\ (\text{红、黄、蓝、绿、紫、黑}6\text{种颜色中的一种})$,卡牌分数$S\ (S <= 255, 正整数)$。
游戏中有$N\ (N <= 384)$个盒子,盒子编号$1, 2, 3, 4,\cdots, N$,每个盒子里面装着$T\ (T \le 8)$张得分卡牌,得分卡牌也有$3$个信息:卡牌牌号$M\ (M \le 255, 正整数)$,卡牌匹配色表$L\ (红、黄、蓝、绿、紫、黑6种颜色中的多种)$,卡牌得分加强系数$P\ (1,2,4,8中的一个)$。

卡牌得分规则是:
1. 得分卡牌的卡牌号和判定卡牌的卡牌号一样,并且判定卡牌中匹配色是得分卡牌中匹配色表中的一个,则认为该得分卡牌可以得分,分数 = 判定卡牌分数$S$ * 得分卡牌上的得分加强系数P。
2. 每个盒子的计分过程中,得分卡牌和判定卡牌只能匹配一次,不能反复使用;
3. 不同判定/得分卡牌的牌号、颜色、分数可以重复;所有判定卡牌中或者同一个盒子中同一牌号的卡牌数最多有5张。
4. 所有得分卡牌获得的分数之和作为盒子的分数。
5. 每个同学只能拿一个盒子,胜出规则依次是:1)盒子分数更高;2)盒子的标号更小。

数学系同学们玩得正开心的时候,你来找学长请教高等数学的问题;你听了听游戏规则,说可以写一个程序,根据评委手中的判定卡牌集合$C$和待选的盒子列表$U$,找出其中能够游戏胜出的盒子,请完成这个程序。

输入格式

依次输入判定卡牌和盒子及其中卡牌信息(为方便输入,将红、黄、蓝、绿、紫、黑颜色转化为数字$1,2,3,4,5,6$):

首先判定卡牌的输入格式为:输入第一行代表判定卡牌的个数$N\ (N\le9)$,接下来的$N$行每一行依次输入卡牌号、匹配色、分数。

接着盒子及其中卡牌信息的输入格式为:输入第一行代表盒子的个数$M\ (M \le 384)$,接下来的M项,每一项包含:输入第一行代表得分卡牌的个数$T\ (T \le 8)$,接下来的$T$行每一行依次输入卡牌号,匹配色的个数$S$,$S$个匹配色,以及得分加强系数$P\ (1, 2, 4, 8中的一个)$。

输出格式

第一行输出得分最多盒子的下标(从1开始计算)。

第二行输出盒子得分。

样例

Input
4
1 1 10
3 2 10
3 2 20
7 4 20
2
3
1 2 1 2 2
3 2 1 2 2
7 2 1 4 4
3
1 2 1 2 2
3 2 1 2 2
3 2 3 4 4
Output
1
140
Input
1
1 2 20
2
2
1 1 2 2
3 1 2 4
2
1 1 2 4
5 1 2 2
Output
2
80