题目意思:

给n*m的矩阵,每个格子有个数,A从(1,1)出发只能向下或右走,终点为(n,m),B从(n,1)出发只能向上或右走,终点为(1,m)。两个人的速度不一样,走到的格子可以获的该格子的数,两人相遇的格子上的数两个人都不能拿。求A和B能拿到的数的总和的最大值。

n,m<=1000

解题思路:

先预处理出每个格子到四个角落格子的路径最大数值,

然后枚举两个人相遇的交点格子,枚举A、B的进来和出去方式,求最大值即可。

注意边界情况。

#include<stdio.h>
#include<algorithm>
using namespace std;
const int MAX = ;
int ma[MAX][MAX];
int Mrd[MAX][MAX],Mur[MAX][MAX],Mld[MAX][MAX],Mul[MAX][MAX];
int n,m;
int i,j;
void print(long long a[][MAX])
{
for(i=;i<=n;i++)
{
for(j=;j<=m;j++)
{
printf("%I64d ",a[i][j]);
}
printf("\n");
}
printf("\n");
}
void Init()
{
for(i=;i<=m;i++)
Mrd[][i]=ma[][i]+Mrd[][i-];
for(j=;j<=n;j++)
Mrd[j][]=ma[j][]+Mrd[j-][];
for(i=;i<=n;i++)
{
for(j=;j<=m;j++)
{
Mrd[i][j]=ma[i][j]+max(Mrd[i-][j],Mrd[i][j-]);
//printf("%d ",Mrd[][]);
}
} for(i=;i<=m;i++)
Mur[n][i]=ma[n][i]+Mur[n][i-];
for(j=n;j>=;j--)
Mur[j][]=ma[j][]+Mur[j+][];
for(i=n-;i>=;i--)
{
for(j=;j<=m;j++)
{
Mur[i][j]=ma[i][j]+max(Mur[i+][j],Mur[i][j-]);
}
} for(i=m;i>=;i--)
Mld[][i]=ma[][i]+Mld[][i+];
for(j=;j<=n;j++)
Mld[j][m]=ma[j][m]+Mld[j-][m];
for(i=;i<=n;i++)
{
for(j=m-;j>=;j--)
{
Mld[i][j]=ma[i][j]+max(Mld[i][j+],Mld[i-][j]);
}
} for(i=m;i>=;i--)
Mul[n][i]=ma[n][i]+Mul[n][i+];
for(j=n;j>=;j--)
Mul[j][m]=ma[j][m]+Mul[j+][m];
for(i=n-;i>=;i--)
{
for(j=m-;j>=;j--)
{
Mul[i][j]=ma[i][j]+max(Mul[i+][j],Mul[i][j+]);
}
}
}
int main()
{
while(scanf("%d %d",&n,&m)!=EOF)
{
for(i=;i<=n;i++)
for(j=;j<=m;j++)
scanf("%d",&ma[i][j]);
Init();
//print(Mrd);
//print(Mur);
//print(Mld);
//print(Mul);
int ans=,tmp;
for(i=;i<n;i++)
{
for(j=;j<m;j++)
{
tmp=Mrd[i-][j]+Mur[i][j-]+Mld[i][j+]+Mul[i+][j];
ans=max(tmp,ans);
tmp=Mrd[i][j-]+Mur[i+][j]+Mld[i-][j]+Mul[i][j+];
ans=max(tmp,ans);
}
}
printf("%d\n",ans);
}
return ;
}

Codeforces 429B B. Working out的更多相关文章

  1. CodeForces 429B Working out DP

    E - Working out Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Su ...

  2. Codeforces 429B Working out

    http://codeforces.com/contest/429/problem/B 题意:一个从左下到右上,一个从左上到右下,要求只相交一次,求整个路径和的最大值 思路:发现可以枚举交点,然后算到 ...

  3. Codeforces 429B Working out(递推DP)

    题目链接:http://codeforces.com/problemset/problem/429/B 题目大意:两个人(假设为A,B),打算健身,有N行M列个房间,每个房间能消耗Map[i][j]的 ...

  4. CODEFORCES 429B 动态规划

    http://codeforces.com/problemset/problem/429/B 可以参考这篇文章: http://blog.csdn.net/pure_lady/article/deta ...

  5. Codeforces 429B Working out:dp【枚举交点】

    题目链接:http://codeforces.com/problemset/problem/429/B 题意: 给你一个n*m的网格,每个格子上有一个数字a[i][j]. 一个人从左上角走到右下角,一 ...

  6. CodeForces 429B Working out 动态规划

    Description Summer is coming! It's time for Iahub and Iahubina to work out, as they both want to loo ...

  7. CodeForces 429B

    Working out Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u   Desc ...

  8. CodeForces 429B【dp】

    题意: 在一个n*m的矩阵中有两只虫子,一只从左上角向右下角移动,另外一只从左下角向右上角移动. 要求: 1.第一只虫子每次只能向左或者向下移动一格,另外一只只能向上或者向右移动一格. 2.两只虫子的 ...

  9. 【Codeforces 429B】Working out

    [链接] 我是链接,点我呀:) [题意] 两个人,一个人在左上角,一个人在左下角. 左上角要到右下角去 左下角要到右上角去 只能走到相邻的格子(不能往回走,即一个往右下,一个往右上走) 要求这两个人必 ...

随机推荐

  1. Spring Boot系列—(一)入门

    前言 因为项目组需要进行微服务改造,而微服务开发中需要以Spring Boot为基础.因此需要先弄懂SpringBoot. 我们先来看看SpringBoot的背景由来,SpringBoot是什么,一个 ...

  2. PHP使用curl请求https站点的常见错误及解决方案

    使用curl请求http站点和https站点最大的不同就是https站点有证书验证这一环节,如果证书验证不通过则无法发起请求,不管是请求什么类型的站点遇到问题时先把错误码打印出来看一下,打印错误码的代 ...

  3. Kubernetes安装部署演示介绍

    四.安装k8s 1.安装 使用的是k8s 1.2.4版本. 将kubernetes.tar.gz 上传主机,并解压. tar -xzvf kubernetes.tar.gz cd kubernetes ...

  4. Rancher使用入门

    http://tonybai.com/2016/04/14/an-introduction-about-rancher/

  5. ASP.NET WebApi通过自定义ControllerSelector来自定义Controller的选择

    在web api中,我们可以通过给Cotroller类添加RoutePrefixAttribute来定义url与Controller之间的映射,但是有时候有一些特殊情况下,我们需要做一些特殊处理来将某 ...

  6. FIR滤波器相关解释

    LTI(Linear Time-Invariant) 线性时不变: 线性时不变系统是根据系统输入和输出是否具有线性关系来定义的.满足叠加原理的系统具有线性特性.线性满足y=kx函数. 根据系统的输入和 ...

  7. java代码从键盘输入次数,然后进行运算-----菜鸟如此菜

    package com.aaa; import java.util.Scanner; // //求两数相加的和.从键盘输入 public class ftwert { public static vo ...

  8. nginx 配置隐藏index.php效果

    location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; } } 完整如下 server { li ...

  9. PHP_File文件操作简单常用函数

    php测试文件 <?php header("Content-type:text/html;charest=utf-8");$fileDir='Upload/File/cont ...

  10. JS播放声音 兼容所有浏览器

    JS播放声音 兼容所有浏览器 <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http ...