T827089 分组核验(group)
题目描述
学校组织小组活动,每个小组恰好有三名同学。活动开始前,老师记录了两类要求:
- 有 $X$ 条要求指定两名同学必须在同一个小组;
- 有 $Y$ 条要求指定两名同学不能在同一个小组。
分组方案已经确定,每名同学恰好属于一个小组,但这个方案不一定满足全部要求。你不需要调整分组,只需要统计有多少条要求被违反。
每条要求单独计算。例如,两条要求都涉及同一个小组且都不满足,就应计为违反了两条要求。同一对同学最多出现在一条要求中,两人的先后顺序不影响要求的含义。
本题有多组测试数据,各组互不影响。
输入格式
第一行包含一个整数 $T$,表示测试数据组数。
对于每组测试数据:
- 第一行包含一个整数 $X$。接下来 $X$ 行,每行包含两个不同的姓名,表示这两名同学必须同组。
- 接下来一行包含一个整数 $Y$。接下来 $Y$ 行,每行包含两个不同的姓名,表示这两名同学不能同组。
- 接下来一行包含一个整数 $G$。接下来 $G$ 行,每行包含三个不同的姓名,表示已经分到同一个小组的三名同学。
姓名由大写英文字母组成。同一组测试数据中,不同同学的姓名不同,每个姓名恰好出现在一个小组里;要求中出现的所有同学都在给定的分组方案中。
输出格式
对于每组测试数据,输出一行一个整数,表示被违反的要求条数。
说明/提示
### 样例解释
只有一条要求:`ELODIE` 与 `CHI` 必须同组。分组方案中,两人都在第二组,所以这条要求没有被违反。没有其他要求,答案为 $0$。
## 样例 2
见 `考生目录/group/group2.in` 与 `考生目录/group/group2.ans`。该样例满足测试点 $1\sim4$ 的约束。
## 样例 3
见 `考生目录/group/group3.in` 与 `考生目录/group/group3.ans`。该样例满足测试点 $5\sim11$ 的约束。
## 样例 4
见 `考生目录/group/group4.in` 与 `考生目录/group/group4.ans`。该样例满足测试点 $12\sim20$ 的约束。
## 样例 5
见 `考生目录/group/group5.in` 与 `考生目录/group/group5.ans`。该样例满足测试点 $12\sim20$ 的约束。
## 数据范围
对于所有数据,保证:
- $1\le T\le10$;
- 每组数据中,$0\le X,Y\le10^5$,$1\le G\le10^5$;
- 每个姓名的长度为 $1$ 到 $10$,只包含大写英文字母;
- 同一组测试数据中,同一对同学最多出现在一条要求里;
- 同一输入文件中,所有组的 $X$ 之和、$Y$ 之和、$G$ 之和分别不超过 $2\times10^5$。
| 测试点编号 | 附加限制(每组均满足) |
| ---------- | ---------------------- |
| $1\sim4$ | $G,X\le50$,$Y=0$ |
| $5\sim11$ | $G,X,Y\le50$ |
| $12\sim20$ | 无 |