#arc049c. [arc049_c]ぬりまーす
[arc049_c]ぬりまーす
问题描述
高桥君在参加比赛并获得名次奖励时,购买了一种名为“涂魔士(ぬりまーす)”的颜料。
此外,高桥君手上有一个有 个顶点的有向图,图中的每个顶点表示为顶点 、顶点 、...、顶点 。
由于高桥君喜欢涂色,所以他打算使用这种“涂魔士”颜料,将颜色涂在手上的有向图的顶点上玩耍。然而,为了保持趣味性,他决定在一些顶点之间施加以下条件来进行涂色。
- 类型1:当要给某个顶点 涂色时,必须保证顶点 已经被涂色。
- 类型2:当要给某个顶点 涂色时,必须保证顶点 没有被涂色。
类型1的约束有 个,类型2的约束有 个。
初始时,所有的顶点都没有被涂色。你的任务是按照适当的顺序给图中的顶点涂色,并求出最终被涂色的顶点数的最大值。
输入
输入从标准输入中按以下格式给出。
: :
- 第 行:一个整数 ,表示有向图中的顶点数。
- 第 行:一个整数 ,表示类型1约束的个数。
- 接下来的 行:每行包含两个整数 ,表示“当要给顶点 涂色时,必须保证顶点 已经被涂色。”的约束条件。
- 第 行:一个整数 ,表示类型2约束的个数。
- 接下来的 行:每行包含两个整数 ,表示“当要给顶点 涂色时,必须保证顶点 没有被涂色。”的约束条件。
- 给定的约束可能导致某些顶点永远无法被涂色。并且,可能会给出相同的约束多次。
输出
输出最终被涂色的顶点数的最大值。在输出末尾添加换行符。
示例 1
输出 1
可以按照顶点 -> 顶点 -> 顶点 的顺序涂色。
示例 2
输出 2
在这个约束条件下,无法给顶点 涂色。
示例 3
输出 3
在这个约束条件下,没有顶点可以被涂色。