Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
68229 | 朱宸瑜 | 最爱的城市 | C++ | 解答错误 | 0 | 0 MS | 260 KB | 623 | 2023-02-03 15:19:39 |
#include<bits/stdc++.h> using namespace std; const int N=210,INF=1e9; int n,m,Q; int d[N][N]; void floyd(){ 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]); } } } } int main(){ cin>>n>>m; for (int i=1;i<=n;i++){ for (int j=1;j<=n;j++){ if (i==j){ d[i][j]=0; }else{ d[i][j]=INF; } } } while(m--) { int a,b,c; cin>>a>>b>>c; d[a][b]=min(d[a][b],c); } floyd(); int a,b; cin>>a>>b; int t=d[a][b]; if (t>INF/2) { cout<<"No path"<<endl; }else{ cout<<t<<endl; } return 0; }