#P005820. 公交线路
公交线路
题目描述
在一个城市中有 个公交站点,编号为 到 ,共有 条双向的公交线路。每条公交线路连接两个站点,乘坐任意一条线路从一个站点到另一个站点需要 个单位时间。
对于第 条连接了 和 两个公交站点的线路,若 ,则它连接站点 和 ;若 ,则表示该线路的一端固定为站点 ,另一端尚未确定。
你的任务是针对每个站点 (),假设所有未确定端点的公交线路的另一端都连接到站点 ,计算从站点 到站点 的最短时间。
如果无法通过公交线路从站点 到达站点 ,则输出 。
输入格式
第一行包含两个整数 和 ,分别表示公交站点的数量和公交线路的数量。
接下来 行,每行包含两个整数 和 ,表示第 条公交线路的两个端点。若 ,表示该线路一端为站点 ,另一端未定。
输出格式
输出一行,包含 个整数,用空格分隔。第 个整数表示当所有未确定端点的公交线路都连接到站点 时,从站点 到站点 的最短时间。若无法到达,输出 。
样例 #1
输入
3 2
0 2
1 2
输出
-1 -1 2
数据范围
对于 的数据,满足 ,,。