U526285 麦克风

题目背景

Pophil 想唱歌,他想知道唱歌时最大可以用多少音量且不会吵到 Nungt。

题目描述

给出一个 $n\times m$ 个字符构成的地图: 1. 每一个字符表示一个人或物。 1. `.` 表示空位。 1. `p` 表示 Pophil 的位置,且只有一个。 1. `n` 表示 Nungt 的位置,且也只有一个。 1. `x` 表示墙(我不会告诉你这是隔音墙)。 Pophil 发出的声音会逐渐变小(假设声音**只会横竖传播**,~~虽然很不合理~~)。只要 Nungt 听到的声音的音量 $=0$,视为一种合法的方案。详见样例。

输入格式

输出共 $n+1$ 行,第一行两个整数 $n,m$,接下来一个矩阵,表示地图。

输出格式

一个整数 $k$,表示 Pophil 唱歌时可以用的不会吵到 Nungt 的最大音量,如果 Nungt 不可能听到声音,输出 $−1$。

说明/提示

**【样例 #1 解释】** 当音量为 1 时,图如下: ```c xxx00xn000 x00xx00100 000000xpxx 000000xxx0 000x0x0000 ``` 当音量为 2 时,图如下: ```c xxx00xn100 x00xx01210 000000xpxx 000000xxx0 000x0x0000 ``` 当音量为 3 时,图如下: ```c xxx00xn210 x00xx12321 000000xpxx 000000xxx0 000x0x0000 ``` 因此,最大 $k=2$。 **【样例 #2 解释】** 声音完全被挡住。 **【样例 #3 解释】** $k=57$。 **【数据范围】** 对于 $100\%$ 的数据,保证: $3\leq n,m\leq 1000\\1\leq k\leq n\times m-2$