#L2969. 「COCI 2010.03.20」HOLMES
「COCI 2010.03.20」HOLMES
题目描述
译自 COCI 2010.03.20 T5. HOLMES
有 个事件,编号分别为 。
福尔摩斯有 组形如 的推论,表示「如果事件 发生,那么事件 一定会发生」。请注意,这不代表「如果 不发生, 就一定不会发生」。
福尔摩斯的这 组推论可以形成链式结构,例如 ,但一定不会形成环,如 $A\rightarrow B\rightarrow C\rightarrow \dots \rightarrow A$。
已知事件 会发生,试求哪些事件一定会发生。
Update: 原题题意不清(或者是我语文太差),补充一句,这样才能解释样例 1。对于一个事件 ,如果存在推论 ,那么「事件 一定会发生」当且仅当『「事件 一定会发生」或「事件 一定会发生」……』
输入格式
第一行:。 接下来 行:每行两个整数,表示一组推论 。 接下来 行:第 行有一个整数 。
输出格式
一行,若干个整数,表示一定会发生的事件。
以任意顺序输出均可 请按照编号递增的顺序输出,传题人懒得写 SPJ
样例 1
输入:
3 2 1
1 2
2 3
2
输出:
1 2 3
样例 2
输入:
3 2 1
1 3
2 3
3
输出:
3
解释: 只知事件 发生,无法推出是事件 导致事件 发生还是事件 导致事件 发生。
样例 3
输入:
4 4 1
1 2
1 3
2 4
3 4
4
输出:
1 2 3 4
解释: 事件 发生,则事件 和事件 至少有一者发生; 无论是何者发生,其条件都是事件 一定发生; 因为事件 一定发生,因此事件 都一定发生。
样例 4
输入:
4 4 1
1 3
2 3
1 4
2 4
3
输出:
3 4
解释: 事件 发生,则事件 和 一定有一者发生; 若事件 和 中有任意一者发生,则事件 一定会发生。
数据范围与提示
$1\le D\le 1000, 1\le M\le 10^5, 1\le N, X_i, A_i, B_i\le D.$