#include <iostream>
using namespace std;
int v1,v2,w;
int n,m,s,d;
int j,i,l;
int arcs[1501][1501];
int len[1501][1501];
int vexnum,arcnum;
#define maxint 999999
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int z;
cin>>n>>m>>s>>d;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(i==j)
{
len[i][j]=0;
arcs[i][j]=0;
}
else
{
arcs[i][j]=maxint;
len[i][j]=maxint;
}
}
}
for(z=0; z<m; z++)
{
cin>>v1>>v2>>l>>w;
arcs[v2][v1]=arcs[v1][v2]=w;
len[v2][v1]=len[v1][v2]=l;
}
for(int k=0; k<n; k++)
{
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(len[i][j]>len[i][k]+len[k][j]||(len[i][j]==len[i][k]+len[k][j]&&arcs[i][j]>arcs[i][k]+arcs[k][j]))
{
len[i][j]=len[i][k]+len[k][j];
arcs[i][j]=arcs[i][k]+arcs[k][j];
}
}
}
}
cout<<len[s][d]<<" "<<arcs[s][d]<<endl;
return 0;
}
PTA 7-2 旅游规划 (25分)
最新推荐文章于 2024-01-16 11:58:51 发布