AT_arc049_c.[ARC049C] ぬりまーす
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君在一次比赛中取得了优异的成绩,因此获得了出行旅游的机会,他趁机买了一款名为「ぬりまーす」的颜料。
与此同时,高桥君在手里有一张包含 N 个顶点的有向图,图中的顶点分别编号为 1,2,…,N。
由于高桥君非常喜欢涂颜料,他打算利用这款「ぬりまーす」颜料给这些顶点上色。然而,他不想随便上色,于是为某些顶点设置了以下两种条件:
- 类型1:给顶点 x 上色时,顶点 y 必须已经被涂上颜色。
- 类型2:给顶点 u 上色时,顶点 v 不能已经被涂上颜色。
类型1的约束共有 A 个,而类型2的约束有 B 个。
一开始,所有的顶点都没有上色。你的任务是找出一种最佳顺序给顶点上色,以实现上色顶点数量的最大化。
输入格式
输入由标准输入提供,格式如下:
N A x1 y1 x2 y2 : xA yA B u1 v1 u2 v2 : uB vB
- 第一行是整数 N,表示图中顶点的数量,满足 1≤N≤100。
- 第二行是整数 A,表示类型1约束的数量,范围是 0≤A≤100。
- 接下来的 A 行中,每行包含两个整数 xi,yi,表示一种类型1约束:当给顶点 xi 上色时,顶点 yi 必须已经上色。这里 1≤xi,yi≤N 且 xi=yi。
- 紧接着一行是整数 B,表示类型2约束的数量,范围是 0≤B≤10。
- 随后的 B 行中,每行包含两个整数 ui,vi,表示一种类型2约束:当给顶点 ui 上色时,顶点 vi 不能已经上色。这里 1≤ui,vi≤N 且 ui=vi。
- 输入中的约束可能导致某些顶点永远无法被上色,并且可能有重复的约束。
输出格式
请输出在所有约束条件下,最多能上色的顶点数量。输出要以换行符结束。
输入输出样例
输入#1
3 2 1 2 2 3 1 3 1
输出#1
3
输入#2
3 2 1 2 2 3 1 1 3
输出#2
2
输入#3
3 3 1 2 2 3 3 1 0
输出#3
0
输入#4
9 7 1 2 1 3 5 4 8 5 9 8 6 1 7 1 2 1 4 4 1
输出#4
6
输入#5
100 0 0
输出#5
100
说明/提示
示例解释 1
可以依次给顶点3→顶点2→顶点1上色。
示例解释 2
在这种约束下,顶点1不能上色。
示例解释 3
在这种约束下,没有顶点可以上色。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?