吃土豆
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
4
-
描述
-
Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled with different qualities beans. Meantime, there is only one bean in any 1*1 grid. Now you want to eat the beans and collect the qualities, but everyone must obey by the following rules: if you eat the bean at the coordinate(x, y), you can’t eat the beans anyway at the coordinates listed (if exiting): (x, y-1), (x, y+1), and the both rows whose abscissas are x-1 and x+1.
Now, how much qualities can you eat and then get ?-
输入
-
There are a few cases. In each case, there are two integer M (row number) and N (column number). The next M lines each contain N integers, representing the qualities of the beans. We can make sure that the quality of bean isn't beyond 1000, and 1<=M,N<=500.
输出
- For each case, you just output the MAX qualities you can eat and then get. 样例输入
-
4 6 11 0 7 5 13 9 78 4 81 6 22 4 1 40 9 34 16 10 11 22 0 33 39 6
样例输出
-
242
-
代码:
-
/*递归超时 #include<stdio.h> #include<string.h> int f(int n,int a[]) { if(n==0) return a[0]; if(n==1) return a[0]>a[1]?a[0]:a[1]; return f(n-1,a)>(f(n-2,a)+a[n])?f(n-1,a):(f(n-2,a)+a[n]); } int main() { int m,n,i,j; int ans[510]; int dp[510]; while(scanf("%d %d",&m,&n)!=EOF) { for(i=0;i<m;i++) { for(j=0;j<n;j++) scanf("%d",&ans[j]); dp[i]=f(n-1,ans); } printf("%d\n",f(m-1,dp)); } system("pause"); return 0; } */ #include<stdio.h> #include<string.h> int vis[510]; int m,n; int f(int aa,int a[]) { int i; for(i=0;i<aa;i++) { if(i==0) vis[i]= a[0]; else if(i==1) vis[i]= a[0]>a[1]?a[0]:a[1]; else vis[i]=(vis[i-2]+a[i])>vis[i-1]?(vis[i-2]+a[i]):vis[i-1]; } return vis[aa-1]; } int main() { int ans[510]; int dp[510]; int i,j; while(scanf("%d %d",&m,&n)!=EOF) { for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&ans[j]); } dp[i]=f(n,ans); } int t=f(m,dp); printf("%d\n",t); } // system("pause"); return 0; }
-
There are a few cases. In each case, there are two integer M (row number) and N (column number). The next M lines each contain N integers, representing the qualities of the beans. We can make sure that the quality of bean isn't beyond 1000, and 1<=M,N<=500.