题目描述
【题目描述】
农夫约翰和他的牛打算离开小镇去度一个长假,所以FJ想暂时关闭他的农场,在此期间省钱。
农场由N个谷仓组成,若干对谷仓之间有M条双向路径连接(1≤N,M≤3000)。为了关闭农场,FJ计划一次关闭一个谷仓。当谷仓关闭时,与谷仓相邻的所有路径也会关闭,并且不能再使用。
FJ感兴趣的是在每个时间点(最初和每次关闭后)知道他的农场是否“完全连接”——这意味着有可能沿着一系列适当的路径从任何一个开放的谷仓旅行到任何另一个开放的谷仓。由于FJ的农场最初处于某种年久失修的状态,它甚至可能没有开始完全连接。
【输入格式】(closing.in):
第一行输入包含两个整数N和M。
接下来的M行每一行都描述了它所连接的一对谷仓的路径(谷仓被方便地编号为1…N)。最后N行给出了1…N的排列,描述了谷仓将关闭的顺序。
【输出格式】(closing.out):
输出包含N行,每一行包含“YES”或“NO”。第一行表示初始农场是否全连接,第i+1行表示第i次关闭后农场是否全连接。
样例输入:
4 3
1 2
2 3
3 4
3
4
1
2
样例输出:
YES
NO
YES
YES