poj 2353 Ministry 对规划方向有要求的dp
来源:互联网 发布:工业之家软件 编辑:程序博客网 时间:2024/05/20 03:40
//poj 2353//sep9#include<iostream>using namespace std;int dp[128][512],cost[128][512],path[128][512];int m,n;void print(int row,int col){if(path[row][col]==col)print(row-1,col);else if(path[row][col]==col+1)print(row,col+1);else if(path[row][col]==col-1)print(row,col-1);printf("%d\n",col);}int main(){scanf("%d%d",&m,&n);for(int i=1;i<=m;++i)for(int j=1;j<=n;++j)scanf("%d",&cost[i][j]);for(int j=1;j<=n;++j)dp[1][j]=cost[1][j],path[1][j]=-1;for(int i=2;i<=m;++i){for(int j=1;j<=n;++j)dp[i][j]=dp[i-1][j]+cost[i][j],path[i][j]=j;for(int j=n-1;j>=1;--j)if(dp[i][j]>dp[i][j+1]+cost[i][j])dp[i][j]=dp[i][j+1]+cost[i][j],path[i][j]=j+1;for(int j=2;j<=n;++j)if(dp[i][j]>dp[i][j-1]+cost[i][j])dp[i][j]=dp[i][j-1]+cost[i][j],path[i][j]=j-1;}int ans=INT_MAX,ans_j;for(int j=1;j<=n;++j)if(ans>dp[m][j])ans=dp[m][j],ans_j=j;print(m,ans_j);return 0;}
0 0
- poj 2353 Ministry 对规划方向有要求的dp
- POJ 2353 Ministry [DP]
- POJ 2353 Ministry DP
- POJ 2353 Ministry(双向DP)
- POJ-2353 Ministry(动态规划)
- DP专题5 POJ 2353 Ministry
- poj 2353 Ministry
- poj 2353 Ministry
- poj Ministry
- URAL 1029 Ministry(记录路径的dp)
- 对自己学习方向的规划
- ural 1029. Ministry (dp)
- oracle结构有自己的思路有自己的方向就能达到自己的要求
- POJ 2353 Ministry(双向动规 输出过程)
- 对动态规划DP的深入理解
- POJ 2353 Ministy 动态规划 双向DP
- POJ - 3265/USACO - Jan07 Gold Problem Solving 动态规划(DP) | 对USACO官方题解0ms程序的解释
- Android 4.0 对通知栏图标的尺寸有要求
- windows下使用gcc编译boost库
- 在Ubuntu14.04上快速部署OpenStack
- 服务器lvm卷使用
- 观察者模式
- 黑马程序员——IO概述之字节流和流对象缓冲技术
- poj 2353 Ministry 对规划方向有要求的dp
- HDU1232-畅通工程 (并查集)
- Android UI设计小知识——富文本
- 关于web浏览器与app的交互
- leetcode 8.String to Integer (atoi)-字符串转整数
- day one
- UVALive 6139 Interval Product(树状数组)
- Appcelerator Android平台下拉刷新module
- hdu 1394 Minimum Inversion Number(线段树求逆序数)