Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
150066 | 唐钧 | 最短路径 | C++ | 解答错误 | 0 | 0 MS | 248 KB | 455 | 2024-06-01 15:06:33 |
#include<bits/stdc++.h> using namespace std; const int N=0x7ffffff; int n,a[197][197],f[197],minn=INT_MAX; int main() { int a1,b,c; cin>>n; while(a1!=0&&b!=0&&c!=0) { cin>>a1>>b>>c; a[a1][b]=c; } for(int i=1;i<=n-1;i++) { f[i]=N; } 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]!=N&&f[j]+a[i][j]<f[i]) { f[i]=f[j]+a[i][j]; } } } cout<<f[1]; return 0; }