Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
151821 | 梁煜然 | 最短路径 | C++ | 通过 | 100 | 0 MS | 288 KB | 461 | 2024-06-19 13:00:21 |
#include<bits/stdc++.h> using namespace std; int N,a,b,c; int f[101][101]; int main(){ cin>>N; memset(f,0x3f,sizeof(f));//初始化:大 //memset(f,0xc0,sizeof(f));小 while(cin>>a>>b>>c&&(a!=0&&b!=0&&c!=0)){ f[a][b]=c; f[b][a]=c; } for(int k=1;k<=N;k++){ for(int i=1;i<=N;i++){ for(int j=1;j<=N;j++){ f[i][j]=min(f[i][j],f[i][k]+f[k][j]);//动态转移方程 } } } cout<<f[1][N]<<endl;//1->N距离 return 0; }