#X6B. Subtask Dependency
Subtask Dependency
题目描述
现在有一道 OI 题。这道题有 个子任务,编号从 到 。编号为 的子任务依赖 个子任务,这些子任务的编号分别为 。保证对于所有 ,有 ,即一个子任务只会依赖编号小于自己的子任务。注意一个子任务可能不依赖任何子任务。
一个选手的程序可以描述为一个长度为 的 序列 ,分别表示该程序能否通过第 个子任务。
评测一个程序时,评测机会按照编号从小到大依次考虑每一个子任务。当考虑到第 个子任务时:
- 如果该子任务依赖的子任务中存在一个子任务的状态为错误,则该子任务的状态为错误;
- 否则,评测机测试该子任务。如果选手的程序能通过该子任务,则该子任务状态为正确;否则状态为错误。
一个程序的得分是评测后状态为正确的子任务个数。
现在有 个选手提交程序,你需要分别计算它们的得分。
输入格式
第一行一个整数 表示子任务个数。
接下来 行,第 行首先输入一个整数 表示第 个子任务依赖的子任务个数;接下来输入 个整数 表示依赖的子任务编号。保证所有 。
接下来一行一个整数 ,表示选手程序个数。
接下来 行,每行 个整数,其中第 行第 个整数 为 表示第 个选手的程序不能通过第 个子任务;为 表示第 个选手的程序能通过第 个子任务。
输出格式
输出 行,第 行输出第 个选手的得分。
样例
3
0
1 1
1 2
3
1 1 1
1 0 1
0 0 0
3
1
0
样例 1 解释
- 选手 1 的程序可以通过所有子任务,因此所有 个子任务的结果均为正确;
- 选手 2 的程序不能通过子任务 2,因此子任务 2 会被判定为错误;由于子任务 3 依赖子任务 2,因此即使选手 2 的程序可以通过子任务 3,子任务 3 也会被判定为错误。该选手的程序的评测结果只有子任务 1 正确。
- 选手 3 的程序不能通过任何子任务,因此所有子任务结果均为错误。
10
0
1 1
1 2
3 1 2 3
4 1 4 2 3
0
5 6 4 5 2 1
0
1 4
1 9
10
1 0 0 1 1 0 1 0 0 0
1 0 1 0 1 0 1 0 1 0
1 0 1 1 1 1 1 1 0 1
1 1 0 1 1 0 1 1 0 1
1 1 0 1 0 0 0 1 1 1
1 1 0 1 0 1 0 1 1 1
1 0 0 1 0 1 1 1 0 1
1 1 0 1 1 1 0 0 1 1
1 1 1 0 0 0 0 0 1 1
1 0 0 0 1 1 1 0 1 1
1
1
3
3
3
4
3
3
3
2
数据范围
对于所有数据,满足 ,,,,不存在 和 使得 。
共 组数据,具体限制如下:
- 对于第 组数据,满足 ;
- 对于第 组数据,满足对所有 ,有 ;
- 对于其他数据,不满足任何附加限制。
相关
在下列比赛中: