9571: 荣耀的羁绊

内存限制:512 MB 时间限制:3 S
题面:传统 评测方式:文本比较 上传者:
提交:1 通过:1

题目描述

小 hua 是摆狗,喜欢玩一款 MOBA 类手游。

对战双方分别有五个玩家,每局开始前,双方要先禁用英雄再选英雄。

小 hua 在和朋友五排,他们会玩的英雄集合的并集的大小是 n。在游戏中,他们只会使用自己会玩的英雄。

他们非常遵守游戏推荐的玩法,五个位置(对抗路、发育路、中路、打野、游走)会分别恰好有一个玩家,且每个英雄只会走游戏推荐的分路(一个英雄可以不止被推荐走一个分路)。

小 hua 想知道,对于不同的禁用英雄集合,他们五个人有多少种阵容的选法。

注意:

  1. 五个人分别选 A,B,C,D,E 与五个人分别选 B,A,C,D,E 算两种不同的阵容选择。
  2. “1号玩家用A英雄 走对抗路,2号玩家用 B英雄 打野 ”与“1号玩家用A英雄 打野,2号玩家用 B英雄 走对抗路 ”是不同的阵容选择。
  3. 可能存在某个英雄,不被推荐为任何位置。

已知 n 个英雄(按输入顺序编号)每个英雄被推荐的分路(是{1,2,3,4,5}的子集),已知五个玩家会玩的英雄集合(是{1,2...n} 的子集),已知 Q 种不同的禁用英雄集合(是 {1,2,...n} 的子集)。

问对于每种禁用英雄的方案,有多少种合法的阵容选择?

合法的阵容选择满足:

  1. 所有玩家选择的英雄互不相同
  2. 阵容中不存在被禁用的英雄
  3. 每个玩家使用自己会玩的英雄
  4. 每个英雄走被推荐的分路
  5. 每个分路恰好一个英雄

输入格式

第一行一个正整数 TT 表示测试点个数。

对于每组数据:

输入一行两个正整数 n,Q, 表示英雄数量和禁用英雄集合。

接下来五行,第 i 行第一个数 cnticnti 表示第 i 个人会玩的英雄集合的大小,随后 cnticnti 个数表示第 i 个人会玩的英雄的集合里的所有元素。

接下来是一个 n×5n×5 的矩阵 A,取值均为 0/1,aijaij = 1 表示 i 英雄可以走 j 分路。

接下来 Q 行,第 i 行第一个数 banibani 表示本次禁用英雄的个数,随后 banibani 个数表示被禁用的英雄。

输出格式

输出 Q 行,每行一个整数表示合法的阵容选择数量。

输入样例 复制

1
10 3
1 10 
6 3 8 2 9 6 4 
2 7 4 
3 8 1 10 
5 3 2 1 10 5 
1 1 0 0 1 
1 0 1 1 1 
0 0 1 0 1 
1 0 0 1 0 
0 0 1 0 1 
1 1 0 0 0 
1 1 0 0 0 
1 0 0 0 0 
1 0 1 0 0 
0 1 1 0 0 
3 3 2 6 
1 2 
3 1 7 6

输出样例 复制

12
37
11

数据范围与提示

对于所有数据:1≤T≤10,10≤n≤15,1≤Q≤10001T10,10n15,1Q1000