logo AlgoBeat OnlineJudge
登录 注册

#216701. [SCCPC 2026] 精灵对战

内存限制:1024 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

爱玩洛克王国,尤其喜欢和别的玩家进行精灵对战。

现在有 种精灵,编号为 。精灵之间存在克制关系。对于每种精灵,它最多被 种精灵克制。

当小 的精灵 与对手的精灵 对战时,结果如下:

  • 克制 ,且 不克制 ,则 被击倒, 继续战斗;
  • 克制 ,且 不克制 ,则 被击倒, 继续战斗;
  • 之间不存在任何克制关系,则二者同归于尽;
  • 互相克制,则小 可以通过高超的博弈技巧击败对手的精灵,即 被击倒, 继续战斗。

已经提前知道了对手的精灵出战顺序,这是一个长度为 的序列,序列中可以出现重复的精灵。

需要合理安排自己的精灵出战顺序来击败对手的所有精灵。对战过程中,当前精灵没有被击倒时,不能更换精灵;只有当前精灵被击倒或同归于尽后,小 才能派出新的精灵。小 可以多次派出同一种精灵。

派出一只精灵需要花费 的代价。请你求出小 击败对手所有精灵所需的最小总花费。

输入格式

第一行包含三个整数 ),分别表示精灵种类数、对手精灵出战序列长度,以及每种精灵最多被克制的精灵种类数。

接下来 行,第 行首先包含一个整数 ),表示克制第 种精灵的精灵种类数;随后包含 个整数 ),表示克制第 种精灵的精灵编号。

最后一行包含 个整数 ),表示对手的精灵出战序列。

输入保证每一行克制关系中的精灵编号互不相同,且不会出现自克制关系。

输出格式

输出一行一个整数,表示小 击败对手所有精灵所需的最小总花费。

样例

样例输入 1

3 4 2
1 2
2 3 1
1 1
2 2 2 1

样例输出 1

1