2016 Personal Training #2 Div.2 SPOJ AMR11A
来源:互联网 发布:网络大电影演员收入 编辑:程序博客网 时间:2024/06/14 02:02
题意:给定一个n行m列的数字矩阵,只能向下向右走,每走一步会获得该位置代表的数的能量,但是能量不能等于或者少于所给的所有数字的最小值,由于(1,1)和(n,m)的值一定保证为0,所以条件就直接变为能量不能少于等于0,求开始需要多少能量才能满足条件。
思路:简单的dp,需要注意的就是边界处理,从(n,m)开始遍历到(1,1)。
代码如下:
#include<bits/stdc++.h>using namespace std;typedef long long LL;#define INF 0x3f3f3f3fint a[505][505],dp[505][505];int main(){ int t,n,m; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { scanf("%d",&a[i][j]); } } memset(dp,0,sizeof(dp)); for(int i=0;i<m;i++) { dp[n][i]=-INF; } for(int i=0;i<n;i++) { dp[i][m]=-INF; } if(a[n-1][n-1]>0) dp[n-1][n-1]=0; else dp[n-1][n-1]=a[n-1][n-1]; int ans=0; for(int i=n-1;i>=0;i--) { for(int j=m-1;j>=0;j--) { if(j==m-1&&i==n-1) continue; dp[i][j]=max(dp[i+1][j],dp[i][j+1])+a[i][j]; //printf("%d ",dp[i][j]); if(i==0&&j==0) { ans=dp[i][j]; break; } if(dp[i][j]>0) dp[i][j]=0; //printf("%d\n",dp[i][j]); } } if(ans==0) printf("1\n"); else if(ans>0) printf("0\n"); else printf("%d\n",-ans+1); }}
0 0
- 2016 Personal Training #2 Div.2 SPOJ AMR11A
- 2016 Personal Training #6 Div.2 G
- 2016 Personal Training #6 Div.2
- 2016 Personal Training #9 Div.2
- 2016 Personal Training #5 Div.2 Gym 100637J
- 2016 Personal Training #8 Div.2 A B H
- 2016 Personal Training #3 Div.2 SGU 409
- 2016 Personal Training #11 Div.2 B G J
- SPOJ AMR11A
- SPOJ AMR11A
- 2016 Personal Training #1 Div.2 D - 1D Cafeteria (B) Gym 100989D
- 2016 Personal Training #7 Div.2 CodeForces 589A Email Aliases
- 2016 Personal Training #8 Div.2 I - Lucky Numbers CodeForces 95B
- 2016 Personal Training #4 Div.2 A B C G H
- SPOJ AMR11A Magic Grid
- SPOJ AMR11A Magic Grid(dp)
- UESTC 2016 Summer Training #2 Div.2(未完待续)
- UESTC 2016 Summer Training #1 Div.2(未完待续)
- JAVA面向对象-----抽象类注意细节
- 极客学院JSP教程笔记(1)
- BestCoder Round #84 题解
- (二)Spring框架——框架结构
- Android内存泄露实时监测——LeakCanary(Android Studio+Eclipse)
- 2016 Personal Training #2 Div.2 SPOJ AMR11A
- Mac OS X 用终端破解附近 Wifi 密码教程
- maven项目使用spring报java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListe
- OpenCV学习DAY1——OpenCV-2.4.13在Visual Studio 2013中的配置
- 数据输入流与数据输出流
- [leetcode] 319.Bulb Switcher
- 图像的傅里叶变换
- (10)HTML标签详解之<link />
- Android 圆形ImageView