zoukankan      html  css  js  c++  java
  • hdu2571

    if(x==1) f(x,y)=max{f(x,y-1),f(x,z)}  {y%z==0&&1<y/z<=y&&1<=z<<y}

    else  f(x,y)=max{f(x-1),f(x,y-1),f(x,z)} {y%z==0&&1<y/z<=y&&1<=z<=y}

    #include <stdio.h>
    #include <math.h>
    int mmax(int a,int b){
        int t;
        if(a>b) t=a;
        else    t=b;
        return t;
    }
    int main(){
        int t,n,m,i,j,res,max,z;
        int tmp;
        int f[25][1100];
        int gird[25][1100];
        scanf("%d",&t);
        while(t--){
            scanf("%d%d",&n,&m);
            for(i=1;i<=n;++i)
                for(j=1;j<=m;++j){
                    scanf("%d",&gird[i][j]);
                    f[i][j]=-1000000;
                }
        
            for(i=1;i<=m;++i){
                if(i==1) {f[1][i]=gird[1][i];continue;}
                f[1][i]=mmax(f[1][i],f[1][i-1]);
                for(z=1;z<=i;++z){
                    if(i%z==0&&i/z>1&&i/z<=i){
                        f[1][i]=mmax(f[1][i],f[1][z]);
                    }
                }
                f[1][i]+=gird[1][i];
            }
            for(i=2;i<=n;++i){
                for(j=1;j<=m;++j){
                    if(j==1) {f[i][j]=gird[i][j]+f[i-1][j];continue;}
                    f[i][j]=mmax(f[i-1][j],f[i][j-1]);
                    for(z=1;z<=j;++z){
                        if(j%z==0&&j/z>1&&j/z<=j){
                            f[i][j]=mmax(f[i][j],f[i][z]);
                        }
                    }
                    f[i][j]=f[i][j]+gird[i][j];
                }
            }
            printf("%d
    ",f[n][m]);
        }
        return 0;
    }
  • 相关阅读:
    Http与WWW服务精解
    Http与WWW服务精解
    6-13
    好用的工具说明
    JVM、JRE和JDK三者间的区别和联系
    css进阶之二:flex弹性布局
    MVVM
    如何理解TCP的三次握手协议?
    java里面的设计模式
    linux常用命令
  • 原文地址:https://www.cnblogs.com/symons1992/p/3427961.html
Copyright © 2011-2022 走看看