NYOJ_171_聪明的kk

这是个二维的矩阵,从原点到下一个点只有两个方向,从上到下、从左到右遍历不会产生冲突

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
using namespace std;
int dp[30][30];//当前的位置最大和是多少
int main()
{
 int n,m,i,j;
 while(~scanf("%d%d",&n,&m))
 {
     memset(dp,0,sizeof(dp));
     for(i=1;i<=n;++i)
         for(j=1;j<=m;j++)
         {
             scanf("%d",&dp[i][j]);
             dp[i][j]+=dp[i][j-1]>dp[i-1][j]?dp[i][j-1]:dp[i-1][j];
         }
         printf("%d\n",dp[n][m]);
 }
 return 0;
}

 

posted @ 2013-05-02 20:51  小仪在努力~  阅读(121)  评论(0编辑  收藏  举报