A. 技能解锁

    传统题 1000ms 256MiB

技能解锁

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

T1 技能解锁

时间限制:1 s  内存限制:128 MB

题目描述

小 A 正在玩一款角色扮演游戏。游戏中共有 nn 个技能,编号为 1,…,n1,\dots,n。

学习技能 ii 之前,必须先学会它的若干前置技能,这些前置技能的编号都严格小于 ii。一个技能可以没有任何前置技能。

玩家的「能力面板」可用一个长度为 nn 的 01 序列 p1,p2,…,pnp_1,p_2,\dots,p_n 表示:pi=1p_i=1 表示玩家本身具备施展技能 ii 的能力,pi=0p_i=0 表示不具备。

游戏按下述规则结算玩家最终掌握的技能(按编号从小到大依次判定):

  • 若技能 ii 的某个前置技能最终未被掌握,则技能 ii 无法掌握;
  • 否则,检查玩家的自身能力:若 pi=1p_i=1,则技能 ii 被掌握;若 pi=0p_i=0,则不掌握。

一名玩家的总评分等于其最终掌握的技能个数。现有 mm 名玩家提交了各自的能力面板,请你分别计算每名玩家的总评分。

输入格式

第一行一个整数 nn。

接下来 nn 行,第 ii 行以整数 did_i 开头,表示技能 ii 的前置技能个数;随后是 did_i 个整数,依次为各前置技能的编号。保证这些编号互不相同,且均小于 ii。

接下来一行一个整数 mm。

接下来 mm 行,每行 nn 个整数 pi,1,pi,2,…,pi,np_{i,1},p_{i,2},\dots,p_{i,n}(只可能为 00 或 11),相邻整数之间用空格分隔,描述第 ii 名玩家的能力面板。

输出格式

共 mm 行,第 ii 行输出第 ii 名玩家的总评分。

样例 1

输入

3
0
1 1
1 2
3
1 1 1
1 0 1
0 0 0

输出

3
1
0

解释

  • 第 1 名玩家:能力面板为 1 1 1,三个技能均被掌握,评分为 33。
  • 第 2 名玩家:技能 2 的 p2=0p_2=0 未掌握,技能 3 依赖技能 2 因此也无法掌握,只有技能 1 被掌握,评分为 11。
  • 第 3 名玩家:能力面板为 0 0 0,评分为 00。

样例 2

输入

6
0
1 1
2 1 2
0
1 4
2 3 5
2
1 1 1 1 1 1
1 0 1 1 1 1

输出

6
3

解释

  • 第 1 名玩家:六个技能均被掌握,评分为 66。
  • 第 2 名玩家:技能 2 未掌握,导致技能 3 与技能 6 均未掌握;被掌握的是技能 1,4,51,4,5,评分为 33。

数据范围与提示

对于 100%100\% 的数据:

  • 1≤n,m≤10001 \le n,m \le 1000;
  • 0≤di<i0 \le d_i < i,1≤ai,j<i1 \le a_{i,j} < i,且同一行的前置技能编号互不相同;
  • 0≤pi,j≤10 \le p_{i,j} \le 1。

提示:请使用 64 位整数存储答案并非必需(答案不超过 nn),但输入量较大,建议使用较快的读入方式。