Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
150065 | 曾煦翔 | 最短路径 | C++ | 编译错误 | 0 | 0 MS | 0 KB | 523 | 2024-06-01 15:06:23 |
#include <bits/stdc++.h> using namespace std; const int N = 105; int n , a , b , c , maxn = 1e9; int mp[N][N] , f[N]; int main() { cin >> n; memset(mp , -1 , sizeof(mp)); for(int i = 1;i <= n;i++){ cin >> a >> b >> c; if(a == 0 && b == 0 && c == 0) break; mp[a][b] = c; } for(int i = 1;i < n;i++) f[i] = maxn; f[n] = 0; for(int i = n - 1;i >= 1;i--) for(int j = n;j > i;j--) if(mp[i][j] > 0 && f[j] != maxn && f[j] + mp[i][j] < f[i]) f[i] = f[j] + a[i][j]; cout << f[1]; return 0; }