Codeforces_429_B
http://codeforces.com/problemset/problem/429/B
挺简单的题,先求出四个点到每一点的最大和,然后枚举每一点,取和最大值。
注意两条路相交的点有且只有一个,这点的数值不加。
#include<iostream>
#include<algorithm>
using namespace std;
int a[][];
int s1[][] = {},e1[][] = {},s2[][] = {},e2[][] = {};
int main()
{
int n,m;
cin >> n >> m;
for(int i = ;i <= n;i++)
{
for(int j = ;j <= m;j++) cin >> a[i][j];
}
s1[][] = a[][];
s2[n][] = a[n][];
e1[n][m] = a[n][m];
e2[][m] = a[][m];
for(int i = ;i <= n;i++)
{
s1[i][] += a[i][]+s1[i-][];
e2[i][m] += a[i][m]+e2[i-][m];
}
for(int i = n-;i >= ;i--)
{
s2[i][] += a[i][]+s2[i+][];
e1[i][m] += a[i][m]+e1[i+][m];
}
for(int i = ;i <= m;i++)
{
s1[][i] += a[][i]+s1[][i-];
s2[n][i] += a[n][i]+s2[n][i-];
}
for(int i = m-;i >= ;i--)
{
e2[][i] += a[][i]+e2[][i+];
e1[n][i] += a[n][i]+e1[n][i+];
}
for(int i = ;i <= n;i++)
{
for(int j = ;j <= m;j++)
{
s1[i][j] = max(s1[i-][j]+a[i][j],s1[i][j-]+a[i][j]);
}
for(int j = m-;j >= ;j--)
{
e2[i][j] = max(e2[i-][j]+a[i][j],e2[i][j+]+a[i][j]);
}
}
for(int i = n-;i >= ;i--)
{
for(int j = ;j <= m;j++)
{
s2[i][j] = max(s2[i][j-]+a[i][j],s2[i+][j]+a[i][j]);
}
for(int j = m-;j >= ;j--)
{
e1[i][j] = max(e1[i][j+]+a[i][j],e1[i+][j]+a[i][j]);
}
}
int ans = ;
for(int i = ;i < n;i++)
{
for(int j = ;j < m;j++)
{
ans = max(ans,s1[i-][j]+s2[i][j-]+e1[i+][j]+e2[i][j+]);
ans = max(ans,s1[i][j-]+s2[i+][j]+e1[i][j+]+e2[i-][j]);
}
}
cout << ans << endl;
return ; }
Codeforces_429_B的更多相关文章
随机推荐
- spring之整合Hibernate
spring整合Hibernate整合什么? 1.让IOC容器来管理Hibernate的SessionFactory. 2.让Hibernate使用上spring的声明式事务. 整合步骤: 1.加入H ...
- CF1200E Compress Words | 字符串hash
传送门 Examples input 1 5 I want to order pizza output 1 Iwantorderpizza input 2 5 sample please ease i ...
- C# 获取WebBrowser内容的高度
int webHeight =0; WebBrowser web =new WebBrowser(); web.Navigate("about:blank"); while (we ...
- PGSQL 字符串作为查询参数的处理
刚从mysql转到pgsql,不太熟悉用法,今天在查询的时候有一个查询参数是字符串,一直没有这一列的错误 ERROR: column "A 桥梁" does not exist L ...
- 图解kubernetes服务打散算法的实现源码
在分布式调度中为了保证服务的高可用和容灾需求,通常都会讲服务在多个区域.机架.节点上平均分布,从而避免单点故障引起的服务不可用,在k8s中自然也实现了该算法即SelectorSpread, 本文就来学 ...
- python+opencv中最近出现的一些变化( OpenCV 官方的 Python tutorial目前好像还没有改过来?) 记一次全景图像的拼接
最近在学习过程中发现opencv有了很多变动, OpenCV 官方的 Python tutorial目前好像还没有改过来,导致大家在学习上面都出现了一些问题,现在做一个小小的罗列,希望对大家有用 做的 ...
- 如何高效实用 Git
Git 工作流 只要项目是多人参与的,那么就需要使用正确的 Git 工作流程. 下面介绍一个简单有效的工作流程. 场景 假设有一个项目,要开发下一代的 Facebook,你就是这个项目的技术 lead ...
- Java单体应用 - Markdown - 03.高级技巧
原文地址:http://www.work100.net/training/monolithic-markdown-advance.html 更多教程:光束云 - 免费课程 高级技巧 序号 文内章节 视 ...
- C++模板编程与宏编程经验谈
C++模板编程与宏编程经验谈 有人说C 与C++的不同主要是因为C++支持模板,不要说区别是面向对象化编程,因为C同样能很好的实现对象化编程,面向对象化其实只是思想,在很多语言中都能实现,区别在于实现 ...
- 【Java并发基础】死锁
前言 我们使用加锁机制来保证线程安全,但是如果过度地使用加锁,则可能会导致死锁.下面将介绍关于死锁的相关知识以及我们在编写程序时如何预防死锁. 什么是死锁 学习操作系统时,给出死锁的定义为两个或两个以 ...