这题细节是真的多,如果出现若干个点 WA 的现象不妨考虑以下几种情况:
- 新集合的其中一部分没有被之前的集合覆盖,这个时候要判是否等于零,且两边都要判。
例如以下两组数据(分别对应从无覆盖到进入之前的集合,和从之前的集合里出来):
2
4
0
0
3 1 2 3
2 3 4
4
0
0
3 2 3 4
2 1 2
YES
3 4
YES
3 4
- 若判定到当前集合的第 x 个元素从它前几个元素所在的集合跑出去了,这个时候输出也有讲究,应当选择集合元素较少的那个集合输出。
例如以下两组数据,(分别 hack 了直接输出包含 x 集合的做法和直接输出包含前面几个元素集合的做法):
2
4
2 1 2
3 2 3 4
4 1 2 3 4
3 1 2 3
4
0
4 1 2 3 4
3 1 3 4
2 2 3
YES
2 4
YES
4 3