3-4 数字三角形问题
来源:互联网 发布:行知中学老师 编辑:程序博客网 时间:2024/06/05 15:19
要求走法有两种 ,从下或从右下。设阶段m[i][j]为从i行j列到底部的最大和,那么本题的解为m[1][1].
决策为if(m[row+1][col]>m[row+1][col+1]) 即取两种走法的较大者。
m[row][col]+=m[row+1][col];
else
m[row][col]+=m[row+1][col+1];
典型的动态规划,从底向上递推。
简单的dp。
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int n;
int a[101][101];
int m[101][101];
int main()
{
freopen("in.txt","r",stdin);
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
cin>>a[i][j];
m[i][j]=a[i][j];//初始化m[i][j]为a[i][j]
}
}
for(int row=n-1;row>=1;row--)
{
for(int col=1;col<=row;col++)
{
if(m[row+1][col]>m[row+1][col+1])
m[row][col]+=m[row+1][col];
else
m[row][col]+=m[row+1][col+1];
}
}
cout<<m[1][1]<<endl;
return 0;
}
- 3-4 数字三角形问题
- 数字三角形问题
- 【dp】数字三角形问题
- 数字三角形问题求解
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- DP_数字三角形问题
- 【算法】数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- Lsof Readme and Quick Start for Lsof(1,2,3)
- 设备驱动-----down_interruptible函数
- 排序和查找-线性排序算法和查找特定值
- Best Time to Buy and Sell Stock leetcode
- 初学linux操作系统——问问“男人”
- 3-4 数字三角形问题
- java模式总结1
- 一天一天学 windows phone 引言 + 大概认知 之 保存恢复页面状态(八)
- 算术表达式树
- 一个数据包的生命历程
- HDU 4009 Transfer water (最小树形图,建图,4级)
- Android项目实战--手机卫士05--自定义对话框与拨打电话来启动activity
- 我的第一篇博文
- [2013-09-01 10:00:20 - Circle] Unable to resolve target 'android-10'