提交时间:2024-06-01 15:07:48

运行 ID: 150068

#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; }