#include <iostream> #include <string> #include <cmath> #include <algorithm> #include <stack> #include <vector> #include <map> #include <set> #include <queue> using namespace std; int main() { int i, j, flag, k; int n,t, m; string s; while (cin >> n&&n!=0) { int a[1000][1000]; for (i = 0; i < n; i++) { for (j = 0; j <= i; j++) scanf("%d", &a[i][j]); } int f[1001][1001] = { 0 }; for (i = n - 1; i >= 0; i--) { for (j = 0; j <= i; j++) { f[i][j] = min(a[i][j] + f[i + 1][j], a[i][j] + f[i + 1][j + 1]); } } cout << f[0][0] << endl; } return 0; } |
Double click to view unformatted code.