light oj 1004 水DP

来源:互联网 发布:storm编程 书籍下载 编辑:程序博客网 时间:2024/06/03 21:37
#include<iostream>#include<cstdio>#include<algorithm>#include<memory.h>using namespace std;int dp[300][300];int cun[300];int n;int main(){    int T;    cin>>T;    int u=0;    while(T--)    {        memset(dp,0,sizeof(dp));        cin>>n;        for(int a=1;a<=n;a++)cun[a]=a;        int y=n-1;        for(int a=n+1;a<=2*n-1;a++)cun[a]=y--;        for(int a=1;a<=2*n-1;a++)for(int b=1;b<=cun[a];b++)scanf("%d",&dp[a][b]);        for(int a=2*n-1;a>=n;a--)        {            for(int b=1;b<=cun[a];b++)            {                if(b==1)dp[a][b]+=dp[a+1][b];                else if(b==cun[a])dp[a][b]+=dp[a+1][b-1];                else dp[a][b]+=max(dp[a+1][b],dp[a+1][b-1]);            }        }        for(int a=n-1;a>=1;a--)for(int b=1;b<=cun[a];b++)dp[a][b]+=max(dp[a+1][b],dp[a+1][b+1]);        printf("Case %d: %d\n",++u,dp[1][1]);    }    return 0;}

毫无亮点…最垃圾的那种

0 0