UESTC 1271 Search gold
来源:互联网 发布:mac 远程看windows 编辑:程序博客网 时间:2024/06/11 01:16
题目链接:http://acm.uestc.edu.cn/#/problem/show/1271
题意:一个N*M的矩阵,每个格子有一个数,然后每个人在某一个格子有4种走法,然后问从(1,1)出发能得到的最大价值。
解法:
矩阵DP
算法复杂度:0(N*M)
memset(dp,-1,sizeof(dp));dp[1][1]=a[1][1];
dp[i][j]=max(dp[i-1][j],dp[i][j-1],dp[i-1][j-2],dp[i-2][j-1])>=0?max(dp[i-1][j],dp[i][j-1],dp[i-1][j-2],dp[i-2][j-1])+a[i][j]:-1
#include <bits/stdc++.h>using namespace std;const int maxn = 1010;int n,m,a[maxn][maxn], dp[maxn][maxn];bool check(int x, int y){ if(x>=1&&x<=n&&y>=1&&y<=m) return 1; return 0;}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&a[i][j]); memset(dp,-1,sizeof(dp)); dp[1][1]=a[1][1]; for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ if(i==1&&j==1) continue; int mx = -100000000; if(check(i-1,j)) mx=max(mx,dp[i-1][j]); if(check(i,j-1)) mx=max(mx,dp[i][j-1]); if(check(i-1,j-2)) mx=max(mx,dp[i-1][j-2]); if(check(i-2,j-1)) mx=max(mx,dp[i-2][j-1]); if(mx>=0){ dp[i][j]=mx+a[i][j]; } else{ dp[i][j]=-1; } } } int ans=-1000000; for(int i=1; i<=n; i++) for(int j=1; j<=m; j++) ans=max(ans,dp[i][j]); printf("%d\n", ans); return 0;}
阅读全文
0 0
- UESTC 1271 Search gold
- UESTC 1271 Search gold
- UESTC 1271 Search gold
- UESTC--1271--Search gold(贪心)
- UESTC 1271 Search gold【dp】
- UESTC 1271 Search gold (DP)
- UESTC - 1271 Search gold (DP)
- UESTC--1271--Search gold(dp)(坑)
- UESTC 1271 Search gold (DP,多校联盟3)
- Microsoft Gold partner search
- Search gold (DP)
- UESTC Training for Search Algorithm(总结)
- 2014 UESTC Training for Search Algorithm B
- 2014 UESTC Training for Search Algorithm C
- 2014 UESTC Training for Search Algorithm
- 2014 UESTC Training for Search Algorithm E
- 2014 UESTC Training for Search Algorithm F
- 2014 UESTC Training for Search Algorithm H
- 无向图变成二分图
- Springmvc 注解驱动格式化实例
- 民航标准229D缩写汇总及常识笔记
- 【用Python学习Caffe】3. 图像训练测试数据集LMDB的生成
- Java程序运行和对象创建过程简述
- UESTC 1271 Search gold
- iOS socket 编程
- 如果APP已经启动,在新的task里重新启动APP,不影响原有的task。。。
- CentOS 7 64bit下安装Apache Server过程
- linux(CentOS 7)下安装JDK,tomcat,eclipse
- 个人学习(十一)
- 含有sge下载源的rpm下载源
- LeetCode20——Valid Parentheses(括号匹配问题,使用栈的知识)
- Java for Web学习笔记(六六):Service和Repository(1)抽象分层