/ Vijos / 讨论 / 分享 /

tram (poj)欢迎广大提高组

1847TRAM
萨格勒布的有轨电车网络由连接其中一些路口和铁轨组成。在每个十字路口都有一个开关, 指向出十字路口的铁轨之一。当电车进入十字路口时, 只能在开关指向的方向离开。如果司机想走别的路, 他/她必须手动更换开关。

当驾驶员从 a 交叉路口开车到 b 路口时, 她试图选择最大限度地减少他必须手动更改开关的次数的路线。

编写一个程序, 计算从交叉点 a 到十字路口 b 所需的开关更改的最小数量。
Input
输入的第一行包含整数 n、a 和 b, 由单个空白字符分隔, 2 = n = 100, 1 = a, b = n, n 是网络中的交叉点数, 交叉点编号为1到 n。

下面的 n 行中的每一行都包含由单个空白字符分隔的整数序列。i-th 线中的第一个数字 ki (0 = ki = n-1) 表示从 i-th 交叉点出去的轨道数。下一个 ki 数字表示直接连接到 i-th 交叉点的交叉点。在 i-th 交叉点中的开关最初指向列出的第一个交叉点的方向。
Output
输出的第一行和唯一一行应包含目标最小数。如果没有从 a 到 b 的路由, 则行应包含整数 "-1"。

网址:http://poj.org/problem?id=1847

0 条评论

目前还没有评论...