Codeforces 429B B. Working out
题目意思:
给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的更多相关文章
- CodeForces 429B Working out DP
E - Working out Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Su ...
- Codeforces 429B Working out
http://codeforces.com/contest/429/problem/B 题意:一个从左下到右上,一个从左上到右下,要求只相交一次,求整个路径和的最大值 思路:发现可以枚举交点,然后算到 ...
- Codeforces 429B Working out(递推DP)
题目链接:http://codeforces.com/problemset/problem/429/B 题目大意:两个人(假设为A,B),打算健身,有N行M列个房间,每个房间能消耗Map[i][j]的 ...
- CODEFORCES 429B 动态规划
http://codeforces.com/problemset/problem/429/B 可以参考这篇文章: http://blog.csdn.net/pure_lady/article/deta ...
- Codeforces 429B Working out:dp【枚举交点】
题目链接:http://codeforces.com/problemset/problem/429/B 题意: 给你一个n*m的网格,每个格子上有一个数字a[i][j]. 一个人从左上角走到右下角,一 ...
- CodeForces 429B Working out 动态规划
Description Summer is coming! It's time for Iahub and Iahubina to work out, as they both want to loo ...
- CodeForces 429B
Working out Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Desc ...
- CodeForces 429B【dp】
题意: 在一个n*m的矩阵中有两只虫子,一只从左上角向右下角移动,另外一只从左下角向右上角移动. 要求: 1.第一只虫子每次只能向左或者向下移动一格,另外一只只能向上或者向右移动一格. 2.两只虫子的 ...
- 【Codeforces 429B】Working out
[链接] 我是链接,点我呀:) [题意] 两个人,一个人在左上角,一个人在左下角. 左上角要到右下角去 左下角要到右上角去 只能走到相邻的格子(不能往回走,即一个往右下,一个往右上走) 要求这两个人必 ...
随机推荐
- xcomponent web 跨域组件介绍
1. 项目地址: https://github.com/krakenjs/xcomponent 2. 支持的特性 a. Render an iframe or popup on a different ...
- Cocoa Pod使用总结
1. 背景 CocoaPod是Swift,Objective-C语言编写的Cocoa项目的依赖管理工具.简单点说就是它管理了很多的Swift和Objective-C的库,然后通过CocoaPod可以比 ...
- centOS下 JDK的三种安装方式
由于各Linux开发厂商的不同,因此不同开发厂商的Linux版本操作细节也不一样,今天就来说一下CentOS下JDK的安装: 方法一:手动解压JDK的压缩包,然后设置环境变量 1.在/usr/目录下创 ...
- (转)Oracle存储过程中的事务
本文转载自:http://www.cnblogs.com/linjiqin/archive/2011/04/18/2019990.html 1.事务用于确保数据的一致性,由一组相关的DML语句组成,该 ...
- java ------------用Array.sort()输出数组元素的最大值,最小值,平均值~~~~
总结:输出最大值,最小值,可以先排序,再输出就容易点了.不用循环判断.我还没学.但是觉得很好用 package com.aini; import java.util.Arrays; import ja ...
- 事务之二:spring事务(事务管理方式,事务5隔离级别,7个事务传播行为,spring事务回滚条件)
事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性. spring支持编程式事务管理和声明式事务管理两种方式. 编程式事务管理使用TransactionTemplate或 ...
- 关于ESXI能虚拟出多少个虚拟机和CPU的关系
当你的虚拟机报如下错误的时候: esxi5.0版本最高配置: https://www.vmware.com/content/dam/digitalmarketing/vmware/zh-cn/pdf/ ...
- MVC中Ajax post 和Ajax Get——提交对象Model
HTTP 请求:GET vs. POST两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST.GET - 从指定的资源请求数据POST - 向指定的资源提交要处理的数据GET 基本上 ...
- 一个简单的Python多线程
首先对一段普通的代码进行测试 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import time def RunThrea ...
- Valid timeZone Values(转)
https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/timezone.html Valid time ...