Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
68286 | 石利伟 | 最爱的城市 | C++ | 解答错误 | 0 | 0 MS | 408 KB | 702 | 2023-02-03 18:32:11 |
#include<bits/stdc++.h> #define inf 1e9 #define maxn 200 using namespace std; int dis[maxn][maxn]; int n,m,x,y,k; void si(){ for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(dis[i][k]!=inf && dis[k][j]!=inf && dis[i][k]+dis[k][j]<dis[i][j])dis[i][j]=dis[i][k]+dis[k][j]; } int main() { while(cin>>n>>m){ fill(dis[0],dis[0]+maxn*maxn,inf); for(int i=0;i<m;i++){ cin>>x>>y>>k; if(dis[x][y]>k) { dis[x][y]=k; dis[y][x]=k; } } cin>>x>>y; si(); if(dis[x][y]==inf)cout<<"NO\n"; else cout<<dis[x][y]<<endl; } return 0; }