zoukankan      html  css  js  c++  java
  • HDU

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    
    const int inf=0x3f3f3f3f;
    int dp[20+3][1000+3],a[20+3][1000+3];
    int t,n,m;
    
    int main()
    {
        scanf("%d",&t);
        while(t--)
        {
            memset(dp,0,sizeof(dp));
            scanf("%d%d",&n,&m);
            for(int i=1;i<=n;i++)
                for(int j=1;j<=m;j++)
                    scanf("%d",&a[i][j]);
            dp[1][1]=a[1][1];
            for(int i=2;i<=n;i++) dp[i][1]=a[i][1]+dp[i-1][1];
            for(int j=2;j<=m;j++)
                for(int i=1;i<=n;i++)
                {
                    if(i==1)
                    {
                        int maxx=-inf;
                        for(int k=2;j/k>=1;k++) if(j%k==0) maxx=(dp[i][j/k]>maxx) ? dp[i][j/k] : maxx;
                         maxx=max(dp[i][j-1],maxx); dp[i][j]=maxx+a[i][j];
                    }
                    else
                    {//printf("!!
    ");
                        int maxx=-inf;
                        for(int k=2;j/k>=1;k++) if(j%k==0) maxx=(dp[i][j/k]>maxx) ? dp[i][j/k] : maxx;
                        maxx=max(dp[i-1][j],maxx); maxx=max(dp[i][j-1],maxx);
                        dp[i][j]=maxx+a[i][j];
                    }
                }
            printf("%d
    ",dp[n][m]);
        }
        return 0;
    } 
  • 相关阅读:
    继承与多态
    String作业
    课后作业及动手动脑
    作业3
    动手动脑
    实验任务四
    动手动脑
    课堂练习01
    《大道至简》第一章读后感伪代码
    C++常用编程关键字
  • 原文地址:https://www.cnblogs.com/qqshiacm/p/10638869.html
Copyright © 2011-2022 走看看