SP15328 HXH - Hunter x Hunter
题目描述
Gon 和 Killua 是两位非常有才华的猎人,他们在战斗中技艺高超。众所周知,Killua 的速度和机智超过 Gon,而 Gon 的力量和决心则更胜一筹。这使得他们的组合几乎无懈可击(只需再磨练一段时间,他们就能成为史上最杰出的猎人)。作为一支出色的团队,他们决定联手击败尽可能多的敌人。经过一番策划,敌人们被安排在一个 $N \times N$ 的网格中。Gon 从 $(0, 0)$ 开始,Killua 从 $(n-1, n-1)$ 出发。为了最大化击败的敌人数量,Gon 只能向右或向下移动,而 Killua 只能向左或向上移动。他们会计算击败的敌人数,当两人相遇在同一格时,彼此击掌庆祝。如果未能击掌,他们会非常失望,所以必须确保击掌这一行动的完成。
然而,Killua 想要这次行动格外完美,因此希望制定一个新的计划。但他不确定最佳路径。作为一个出色的程序员,你需要帮助他找出能够使他们在相遇时共同击败最多敌人的方法。只有得到了这个信息,Killua 才能完善他的计划。
请注意,他们的移动是同步的,如果任何一个人无法继续前进,则这一步无效,并且两人不能停留在原地。
网格中的元素含义如下:
- `#` 表示障碍物,Gon 和 Killua 无法穿越。
- `.` 表示可行走的区域。
- `*` 表示敌人。
输入格式
输入包含多个测试用例。每个测试用例以一个整数 $T$ 开头,表示测试用例的数量。接下来,每个测试用例开始于一个整数 $2 \leq N \leq 500$,表示网格大小,随后是该网格的描述。
输出格式
对于每个测试用例,输出两人能够共同击败的最大敌人数,并在最终击掌庆祝。如果无法实现,请输出 -1。
说明/提示
- $2 \leq N \leq 500$
### 示例
**输入**
```
1
5
..\*..
.\*..\*
\#...\*
..\*..
.....
```
**输出**
```
3
```
**说明**
如果没有击掌这一限制,他们可以击败所有 5 个敌人,但因为需要同时不间断地移动并相遇击掌,他们只能在击杀 3 个敌人后相聚。Killua 击败 2 个敌人,Gon 击败 1 个敌人。
**本翻译由 AI 自动生成**