提交时间:2023-02-03 15:42:02

运行 ID: 68234

#include<bits/stdc++.h> using namespace std; const int inf=99999999; int main(){ int map[15][15],i,j,k,n,m,x,y; while(~scanf("%d%d",&n,&m)){ for (i=1;i<=n;i++){ for(j=1;j<=n;j++){ if (i==j)map[i][j]=0; else map[i][j]=inf; } } while (m--){ scanf("%d%d%d",&i,&j,&k); map[j][i]=map[i][j]=k; } scanf("%d%d",&x,&y); for (i=1;i<=n;i++){ for (j=1;j<=n;j++){ for (k=1;k<=n;k++){ if(map[j][k]>map[j][i]+map[i][k])map[j][k]=map[j][i]+map[i][k]; } } } if (map[x][y]==inf)puts("No path"); else printf("%d\n",map[x][y]); } return 0; }