首页 > 代码库 > hdu 2391 Filthy Rich
hdu 2391 Filthy Rich
简单dp 水一个
处理点的时候,第一行和第一列特殊处理;
<span style="font-size:24px;">其余的w[i][j]=show(w[i-1][j-1],w[i-1][j],w[i][j-1])+s[i][j];</span>
<span style="font-size:24px;">#include<stdio.h> #include<string.h> #include<algorithm> #include<cmath> #include<iostream> using namespace std; int s[1005][1005]; int w[1005][1005];//存每个点的最大值 int show(int q,int w,int e) { int t; if(q>w) t=q; else t=w; return t>e?t:e; } int main() { int a; scanf("%d",&a); int time=0; int b,c; int t=a; while(t--) { time++; scanf("%d %d",&b,&c); for(int i=0;i<b;i++) for(int j=0;j<c;j++) scanf("%d",&s[i][j]); memset(w,0,sizeof(w)); for(int i=0;i<b;i++) for(int j=0;j<c;j++) { if(i==0) { if(j==0) w[i][j]=s[i][j]; else w[i][j]=w[i][j-1]+s[i][j]; continue; } if(j==0) { w[i][j]=w[i-1][j]+s[i][j];continue; } w[i][j]=show(w[i-1][j-1],w[i-1][j],w[i][j-1])+s[i][j]; } printf("Scenario #%d:\n%d\n",time,w[b-1][c-1]); //if(time!=a) printf("\n"); } return 0; } </span>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。