SP28457 TAP2016C - Correlations
题目描述
完成大学学业不仅仅是学习和研究的过程。为了顺利毕业,Gabina 需要在电子系统里正确注册她的所有课程。有些课程彼此之间存在先后关系,也就是说,有些课程必须在其他课程之前完成注册。请帮助 Gabina 确定她在通过每门课程后,电子系统中已注册的课程数量。
输入格式
输入包含多个测试案例。每个案例的第一行有两个整数 $N$ 和 $M$,分别表示 Gabina 专业中课程的总数以及课程之间的先后关系数量($1 \leq N, M \leq 10^5$)。课程使用从 $1$ 到 $N$ 的数字进行编号。接下去的 $M$ 行中,每行有两个整数 $A$ 和 $B$,表示课程 $A$ 需要先于课程 $B$ 进行注册($1 \leq A, B \leq N$ 且 $A \neq B$)。也就是说,课程 $A$ 必须在课程 $B$ 之前被注册。输入中保证没有重复关系或环形关系。最后一行包含 $N$ 个整数 $P_1, P_2, \ldots, P_N$,表示 Gabina 将按此顺序依次通过这些课程($1 \leq P_i \leq N$ 对于 $i = 1, \ldots, N$ 且 $P_i \neq P_j$ 当 $i \neq j$)。
输出格式
对于每个测试案例,输出 $N$ 行,每行一个整数。第 $i$ 行的数字表示 Gabina 按输入顺序通过第 $i$ 门课程后,电子系统中已完成注册的课程数量。
说明/提示
- $1 \leq N, M \leq 10^5$
- No duplicate or cyclic correlations present in the input.
- $1 \leq A, B \leq N$ 且 $A \neq B$
- $1 \leq P_i \leq N$ 且当 $i \neq j$ 时 $P_i \neq P_j$
**本翻译由 AI 自动生成**