• 洛谷 P2380 狗哥采矿


    题目传送门

    一开始没看到题目下面的说明(只能走直线),推了好长时间没推出来.f[i][j]表示从(0,0)到(i,j)的最大矿数.

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    
    using namespace std;
    
    int n,m,a[501][501],b[501][501],ans;
    int f[501][501];
    
    int main() {
        while(true) {
            memset(f,0,sizeof(f));
            scanf("%d%d",&n,&m);
            if(n == 0 && m == 0) return 0;
            for(int i = 1;i <= n; i++)
                for(int j = 1;j <= m; j++) {
                    scanf("%d",&a[i][j]);
                    a[i][j] += a[i][j-1];
                }
            for(int i = 1;i <= n; i++)
                for(int j = 1;j <= m; j++) {
                    scanf("%d",&b[i][j]);
                    b[i][j] += b[i-1][j];
                }
            for(int i = 1;i <= n; i++)
                for(int j = 1;j <= m; j++)
                    f[i][j] = max(f[i-1][j] + a[i][j],f[i][j-1] + b[i][j]);
            printf("%d
    ",f[n][m]);
        }
    
        return 0;
    }
  • 相关阅读:
    LCT
    Knights0.
    Beautiful Sequence
    Mole and Abandoned Mine
    防御准备
    最小生成树计数
    Miners
    朝暮(枚举基准 容斥)
    Dynamic Rankings(整体二分)
    BZOJ 3875 Ahoi2014 骑士游戏
  • 原文地址:https://www.cnblogs.com/lipeiyi520/p/13604960.html
Copyright © 2020-2023  润新知