c++数学三角探最長経路問題(dp)
760 ワード
int a[5][5] = {0};
int f[6][6] = { 0 };
a[0][0] = 13;a[1][0] = 11;a[2][0] = 12;a[3][0] = 6;a[4][0] = 12;
a[1][1] = 8;a[2][1] = 7;a[2][2] = 26;
a[3][1] = 14;a[3][2] = 15;a[3][3] = 8;
a[4][1] = 7;a[4][2] = 13;a[4][3] = 24;a[4][4] = 11;
for (int i = 0;i < 5;i++)
{
for (int j = 0;j < 5;j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
cout << "*************" << endl;
for (int i = 1;i < 6;i++)
{
for (int j = 1;j <= i;j++)
{
f[i][j] = max(f[i-1][j ], f[i - 1][j - 1]) + a[i - 1][j - 1];
}
}
for (int i = 0;i < 6;i++)
{
for (int j = 0;j < 6;j++)
{
cout << f[i][j] << " ";
}
cout << endl;
}