#P4657. tower

tower

题目描述

Nick 最近在玩一款很好玩的游戏,游戏规则是这样的:

有一个 n×mn\times m 的地图,地图上的每一个位置要么是空地,要么是炮塔,要么是一些 BETA狗,Nick 需要操纵炮塔攻击 BETA狗 们。

攻击方法是:对于每个炮塔,游戏系统已经给出它可以瞄准的方向(上下左右其中一个),Nick 需要选择它的攻击位置,每一个炮塔只能够攻击一个位置,炮塔只能够向着它的瞄准方向上的某个位置发动攻击,当然炮塔也可以不进行攻击。炮塔威力强大,它可以且仅可以消灭目标位置上所有的 BETA狗。

出于安全考虑,游戏系统已经保证不存在一个炮塔能够瞄准另外一个炮塔,即对于任意一个炮塔,它所有可能的攻击位置上不存在另外一个炮塔。而且,如果把炮塔的起点和终点称为炮弹的运行轨迹,那么系统不允许两条轨迹相交f包括起点和终点)。

现在,选定目标位置以后,每一个炮塔同时开炮,你要告诉 Nick,他最多可以干掉多少 BETA狗。

输入格式

第一行两个正整数 n,mn,m,表示地图的规模。

接下来每行 mm 个整数,00 表示空地,1,2,3,4-1,-2,-3,-4 分别表示瞄准上下左右的炮塔,若为正整数 pp,则表示该位置有 pp 个 BETA狗。

输出格式

一个正整数,表示 Nick 最多可以干掉几个 BETA狗。

3 2
0 9
-4 3
0 -1
9

提示

1n,m50,1p9991\le n,m\le 50,1\le p\le 999,保证不存在任意一个炮塔能够瞄准另外一个炮塔。