编程题
### 问题描述 晓宇设计了一棵 $n$ 个点的有根树,节点编号为 $1~n$ ,根节点为 $1$ 。最开始所有点都是白色,你需要选择一些点染成黑色,同时有若干条限制, 限制有两种: $A$ 类限制: $x$ 的子树内至少有 $y$ 个点被染成黑色。 $B$ 类限制: $x$ 的子树外至少有 $y$个点被染成黑色。 请问最少把多少个点染成黑色才能满足条件,如果无解输出 $-1$ 。 ### 输入格式 第一行一个正整数 $n$ 。 接下来 $n-1$ 行,每行两个正整数 $x, y$ ,表示 $x$ 与 $y$ 之间有一条边。 接下来 $1$ 行读入整数 $A$ ,表示 $A$ 限制的数量。 接下来 $A$ 行,每行两个整数 $x$ , $y$ ,表示一条$A$限制。 接下来 $1$ 行读入整数 $B$ ,表示 $B$ 限制的数量。 接下来 $B$ 行,每行两个整数 $x$ , $y$ ,表示一条 $B$ 限制。 ### 输出格式 一行一个整数,表示答案。 ### 样例输入 ``` 3 1 2 1 3 2 2 1 3 1 2 2 1 3 1 ``` ### 样例输出 ``` 2 ``` ### 评测数据范围 对于 $30\\%$ 的数据,满足 $n \le 1000$ 。 对于再 $30\\%$ 的数据,满足 $ B = 0 $ 。 对于 $100\\%$ 的数据,满足 $1 \le n \le 100000, 0 \le A, B, x, y \le 100000$ 。
查看答案
赣ICP备20007335号-2