题号:NC219676
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld
题目描述
罗德岛训练室今天的使用人是干员w,她的任务是使用手上的三个遥控炸弹,尽可能摧毁最大价值的目标。
测试区域是一个n*n的矩阵,w可以选择任意格子安放炸弹,如果选择了位置[i][j]安放炸弹,那么对于所有的[i][k]满足|k-j|<=2和所有[l][j]满足|l-i|<=2的点,都会被这个炸弹所摧毁。也就是说炸弹安放位置以及其上下左右各向外延伸2个单位长度的格子都会被其摧毁,重复被摧毁的格子只计算一次该格子的价值。
(如下图所示,如果在该5*5矩阵的中心位置安放炸弹,除了安放的位置外,四个方向上8个画X的位置也会被摧毁)
睿智的勃士总是能帮助w快速计算出可以摧毁的最大价值。
输入描述:
第一行为一个整数n,代表矩阵的宽度。(1<=n<=10)
接下来第1+i行(1<=i<=n),每行为空格隔开的n个整数a[i][j]。代表矩阵位置[i][j]的价值是多少。(0<=a[i][j]<=1e9)
输出描述:
输出一个整数,代表能摧毁的最大价值。
示例1
输入
复制
5
2 2 2 2 2
2 0 2 0 2
2 2 2 2 2
2 0 2 0 2
2 2 2 2 2
说明
有多种安放选择均可摧毁价值34,其中一种方案是炸弹放置在(3,1),(3,3),(3,5)
示例2
输入
复制
8
10 15 3 3 12 16 7 2
1 6 19 19 1 12 19 14
7 0 6 3 15 1 16 2
13 7 12 5 2 9 2 5
13 0 14 6 19 10 9 1
0 13 1 1 14 15 7 7
1 12 3 16 12 14 12 9
11 15 16 14 1 12 1 8