译自 COCI 2010.03.20 T5. HOLMES
有 $D$ 个事件,编号分别为 $1\ldots N$。
福尔摩斯有 $M$ 组形如 $A\rightarrow B$ 的推论,表示「如果事件 $A$ 发生,那么事件 $B$ 一定会发生」。请注意,这不代表「如果 $A$ 不发生,$B$ 就一定不会发生」。
福尔摩斯的这 $M$ 组推论可以形成链式结构,例如 $A\rightarrow B\rightarrow C$,但一定不会形成环,如 $A\rightarrow B\rightarrow C\rightarrow \dots \rightarrow A$。
已知事件 $S_1\ldots S_N$ 会发生,试求哪些事件一定会发生。
Update: 原题题意不清(或者是我语文太差),补充一句,这样才能解释样例 1。对于一个事件 $X$,如果存在推论 $Y_1\rightarrow X,$ $Y_2\rightarrow X$,那么「事件 $X$ 一定会发生」当且仅当『「事件 $Y_1$ 一定会发生」或「事件 $Y_2$ 一定会发生」……』