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的更多相关文章
随机推荐
- ubuntu(linux)虚拟主机部署桌面,使用window链接
买的ubuntu只有命令行,想安装一个桌面,远程操控 网上教程很多,我主要遇到一个问题,百思不得其解 之间安装的不是连接超时,就是拒绝连接 又重新参考这篇博客安装后才解决 说一下大致流程,详细的见这位 ...
- (数据科学学习手札72)用pdpipe搭建pandas数据分析流水线
1 简介 在数据分析任务中,从原始数据读入,到最后分析结果出炉,中间绝大部分时间都是在对数据进行一步又一步的加工规整,以流水线(pipeline)的方式完成此过程更有利于梳理分析脉络,也更有利于查错改 ...
- 重新认识C语言的指针(上)
独创性并不是首次观察某种新事物,而是把旧的.很早就是已知的,或者是人人都视而不见的事物当新事物观察,这才证明是有真正的独创头脑 -尼采 本文已经收录至我的GitHub,欢迎大家踊跃star 和 i ...
- JVM之堆的体系结构
一.堆的体系结构 Heap 堆一个JVM 实例只存在一个堆内存,堆内存的大小是可以调节的.类加载器读取了类字节码文件后,需要把类.方法.常量.变最放到堆内存中,保存所有引用类型的真实信息,以便执行器执 ...
- python报错:not supported between instances of 'str' and 'int'
not supported between instances of 'str' and 'int' : 意思就是字符串不能和int类型的数值比较
- Pandas的介绍与基本使用
1.什么是Pandas 当大家谈论到数据分析时,提及最多的语言就是Python和SQL,而Python之所以适合做数据分析,就是因为他有很多强大的第三方库来协助,pandas就是其中之一,它是基于Nu ...
- go slice与函数传值的理解
go语言中所有的传值方式都是传值操作. 今天遇到了以下代码: func main(){ slice := make([],) fmt.Println(slice) change(s) fmt.Prin ...
- Appium自动化测试框架研究(2)——搭建IOS环境
今天的文章讲iOS的Appium环境搭建. 对于iOS而言,只能在Mac笔记本上安装Appium,以及所需要的各种组件. 也许有人会问,能否在Windows系统上使用Appium测试iOS手机,这不就 ...
- 如何用好Go的测试黑科技
测试是每一个开发人员都需要掌握的技能,尽管你不需要像测试人员那么专业,但你也应该尽可能的做到那么专业,据我了解到我身边的一些Go开发人员,他们对Go的测试仅仅局限于写一个_test.go 测试文件,对 ...
- 12.instanceof和类型转换
Instanceof: 判断一个对象是什么类型的~,可以判断两个类之间是否存在父子关系 package com.oop.demo07; public class Person { public voi ...