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的更多相关文章
随机推荐
- 利用shell脚本实现每隔60秒磁盘内存数据监控脚本
#!/bin/bash #Author:GaoHongYu #QQ: #Time:-- :: #Name:ncjk.sh #Version:V1. clear xtip=$(hostname -I) ...
- Linux Cgroup浅析
cgroup从2.6.4引入linux内核主线,目前默认已启用该特性.在cgroup出现之前,只能对一个进程做资源限制,比如通过sched_setaffinity设置进程cpu亲和性,使用ulimit ...
- .Net Core - AgileHttp
2020年新年将至,先预祝.Net Core越来越好. 做了这么多年一线开发,经常跟Http打交道.比如调用三方的Webservice,比如集成微信支付的时候服务端发起Prepay支付.特别是现在分布 ...
- CF825G Tree Queries
[题意] 一棵树有 n个节点,初始均为白色,有两种操作: 1. 1 x 代表把结点 x 设置为黑色 2. 2 x 代表查询 x 到树上任意一个黑色结点的简单路径上的编号最小的结点的编号 输入 t 和 ...
- 超级火的java自学网站
学靠的是毅力和自律,一定要坚持,否则就会前功尽弃,我自己也一直在边学边工作,当然自学要配合好的学习资料. 我是通过这个地方去学习的,它可以添加学习计划,从java基础到高级,从后台到前端,从细节到框架 ...
- python的break、continue、pass
break break可以用来立即退出循环语句(包括else)continue continue可以用来跳过当次循环注意:break和continue都是只对离他最近的循环起作用 pass pass是 ...
- 如何设计一个优雅的RESTFUL的接口
show me the code and talk to me,做的出来更要说的明白 我是布尔bl,你的支持是我分享的动力! 一 .引入 设计接口是我们开发人员的日常操作.当我们把接口交给前端人员时, ...
- 打包一份py给大家用!!!
好不容易写完了代码,却发现对面无法使用自己的python代码,其无奈可想而知 在这里就给大家介绍一下pyinstaller的简单用法 你所需要的就是在电脑上安装好 https://blog.csdn. ...
- 投影方式- Unity3D游戏开发培训
投影方式- Unity3D游戏开发培训 作者:Jesai 2018-02-12 20:33:13 摘 要 透视投影是3D渲染的基本概念,也是3D程序设计的基础.掌握透视投影的原理对于深入理解其他 ...
- python 进程管道
数据不安全,不常用 import time from multiprocessing import Pipe, Process def producer(prod, cons, name, food) ...