loj#P2284. 「USACO 2018.12 Platinum」The Cow Gathering

「USACO 2018.12 Platinum」The Cow Gathering

题目描述

题目来自 USACO 2018 December Contest, Platinum Problem 3. The Cow Gathering

奶牛们从世界各地聚集起来参加一场大型聚会。总共有 NN 头奶牛,N1N-1 对奶牛互为朋友。每头奶牛都可以通过一些朋友关系认识其他每头奶牛。

她们玩得很开心,但是现在到了她们应当离开的时间了,她们会一个接一个地离开。她们想要以某种顺序离开,使得只要至少还有两头奶牛尚未离开,所有尚未离开的奶牛都还有没有离开的朋友。此外,由于行李寄存的因素,有 MM 对奶牛 (ai,bi)(a_i,b_i) 必须满足奶牛 aia_i 要比奶牛 bib_i 先离开。注意奶牛 aia_i 和奶牛 bib_i 可能是朋友,也可能不是朋友。

帮助奶牛们求出,对于每一头奶牛,她是否可以成为最后一头离开的奶牛。可能会发生不存在满足上述要求的奶牛离开顺序的情况。

输入格式

输入的第一行包含两个空格分隔的整数 NNMM

输入的第 2iN2\le i\le N 行,每行包含两个整数 xix_iyiy_i,满足 1xi,yiN1\le x_i,y_i\le Nxiyix_i\neq y_i,表示奶牛 xix_i 和奶牛 yiy_i 是朋友关系。

输入的第 N+1iN+MN+1\le i\le N+M 行,每行包含两个整数 aia_ibib_i,满足 1ai,biN1\le a_i,b_i\le Naibia_i\neq b_i,表示奶牛 aia_i 必须比奶牛 bib_i 先离开聚会。

输入保证 1N,M1051\le N,M\le 10^5。对于占总分 20%20\% 的测试数据,保证 N,M3000N,M\le 3000

输出格式

输出 NN 行,每行包含一个整数 did_i,如果奶牛 ii 可以成为最后一头离开的奶牛,则 di=1d_i=1,否则 di=0d_i=0

5 1
1 2
2 3
3 4
4 5
2 4

0
0
1
1
1