1107: 单向公路(bfs+输入整理)(DFS也可以,而且更快)

某个地区有许多城镇,但并不是每个城镇都跟其他城镇有公路连接,且有公路的并不都能双向行驶。现在我们把这些城镇间的公路分布及允许的行驶方向告诉你,你需要编程解决通过公路是否可以从一个城镇到达另一个城镇。(我们规定,城镇自己跟自己可互相到达,即A可到达A).
第一行只有一个数N,下面将跟着2N行数据.

在前N行数据中,对于每行数据,最开头一个数字number,表明这一行总共有number个数,number的下一个数为i,代表编号为i的那个城镇.这行余下的就是跟i有公路连接的城镇的名单,且只能从城镇i驶向其他城镇。如 4 1 2 3,表明:此行有4个数,跟城镇1有公路连接的城镇是编号为2和3的城镇,且只允许从城镇1驶向城镇2和3,而不能从2到1或3到1。

在后N行数据中,每行由两个数字组成a,b.
	
对于每个输入的数有如下关系 0 <= input_number <= 1000 .
对于输入数据中的每个a,b,判断是否可以从城镇a通过公路到达城镇b,如果可以,输出Yes;否则输出No.
3
4 1 2 3 
3 4 5
3 5 8
1 2
1 8
4 8
Yes
No
Yes

你可能感兴趣的:(1107: 单向公路(bfs+输入整理)(DFS也可以,而且更快))