Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
150068 | 刘语晗 | 最短路径 | C++ | 解答错误 | 0 | 0 MS | 288 KB | 463 | 2024-06-01 15:07:48 |
#include<bits/stdc++.h> using namespace std; const int MAXN=0x7ffffff; int a[105][105],f[105],path[105]; int main() { int n,o,t,th; cin>>n; memset(a,-1,sizeof(a)); while(o!=0&&t!=0&&th!=0) { cin>>o>>t>>th; a[o][t]=th; } for(int i=1;i<=n-1;i++) f[i]=MAXN; f[n]=0; for(int i=n-1;i>=1;i--) for(int j=n;j>i;j--) if(a[i][j]>0&&f[j]!=MAXN&&f[j]+a[i][j]<f[i]) { f[i]=f[j]+a[i][j]; } cout<<f[1]<<endl; return 0; }