题解
【入门】城市之间的最短路
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n,m,d[1005][1005],u,v,w,ans,x,y; int main(){ memset(d,0x3f3f3f,sizeof d); cin>>n>>m; for(int i=1;i<=m;i++){ cin>>u>>v>>w; d[u][v]=min(d[u][v],w); d[v][u]=min(d[v][u],w); } cin>>x>>y; for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) d[i][j]=min(d[i][j],d[i][k]+d[k][j]); if(d[x][y]==1061109567&&d[y][x]==1061109567) cout<<"No path"; else cout<<min(d[x][y],d[y][x]); return 0; }
- 1