View Code of Problem 4063

#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.


Back to problem 4063