4618: 【入门】最短距离及花费

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:2

题目描述

A国有n个城市,修建了m条道路(道路双向都可以走),每条道路的长度为d,走该路线要花费p元的过路费。

请问:如果要从编号为s的城市到编号为t的城市,最短距离是多少,如果按最短距离来走要花多少钱?

注意:如果有多条最短路,请输出花费最少的距离及花费。


输入

读入若干组数据,对于每组数据:

先输入n,m,城市的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a城市和b城市之间有一条边,且其长度为d,过路费花费为p。

最后一行是两个数 s,t,表示起点编号为s,终点编号为t。

当读入n和m为0时,表示输入结束。
(1<n≤1000, 0<m<100000, s != t)

输出

对于每组输入,输出一行有两个数, 表示最短距离及其花费。

样例输入 复制

3 2
1 2 5 6
2 3 4 5
1 3
0 0

样例输出 复制

9 11

来源/分类