您的位置:首页 > 其它

动态规划练习一之最低通行费

2017-04-17 22:13 190 查看
这个题题意是找一条穿过矩阵的路线使得所穿过路线的数字之和最小(只能往右或者下走)

思路:这个题可以参考三角阵的解法,逆推最小通行费的 状态转移方程为:

f[i][j]=min(f[i-1][j]+f[i][j-])+a[i][j]

代码:

#include<iostream>
#include<cmath>
using namespace std;
int a[101][101],b[101][101];
int main()
{
int i,j,k,l,m,n,x,y;
cin>>n;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
cin>>a[i][j];
b[i][j]=0;
}
b[1][1]=a[1][1];
for (i=2,j=1;i<=n;i++)
b[i][j]=b[i-1][j]+a[i][j];
for (j=2,i=1;j<=n;j++)
b[i][j]=b[i][j-1]+a[i][j];
for (i=2;i<=n;i++)
for (j=2;j<=n;j++)
{
b[i][j]=min(b[i-1][j],b[i][j-1])+a[i][j];
}
cout<<b[n][n]<<endl;
}



19: 最低通行费最近的提交

提交人班级结果内存时间代码长度语言提交时间
2016413316计开发Accepted200kB0ms516 BG++23小时前
4159陈文豪16计开发Accepted320kB3ms552 BG++昨天
荆慧16计算机Accepted200kB0ms849 BG++昨天
20164131 Accepted200kB0ms585 BG++昨天
刘文亚2016436716网络Accepted328kB0ms504 BG++昨天
2016791516信息Accepted200kB1ms599 BG++昨天
2016439516信息Accepted2368kB2ms458 BG++昨天
李双智 Accepted200kB4ms427 BG++昨天
2016791516信息Wrong Answer164kB0ms619 BG++昨天
梁琪尧2016431316网络Accepted328kB1ms468 BG++昨天


基本信息

#:9052552
题目:19
提交人:(李世冬)
内存:200kB
时间:0ms
语言:G++
提交时间:2017-04-16 08:57:54
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: