AT_joi2015yo_c 気象予報士 (Weather Forecaster)
题目描述
JOI 市呈现南北方向 $H$ 千米、东西方向 $W$ 千米的矩形,被划分为 $H \times W$ 个每边长为 $1$ 千米的小区块。自北向南第 $i$ 行、西向东第 $j$ 列的小区块记作 $(i, j)$。
每个小区块的上空要么有云,要么没有云。所有的云每过 $1$ 分钟会向东移动 $1$ 千米。由于今天天气非常好,JOI 市外的云不会进入 JOI 市内。
现在已知每个小区块上空当前是否有云。作为气象预报员的你,需要预测每个小区块上空距离现在多少分钟后会首次有云经过。
请计算每个小区块距离现在多少分钟后会首次有云经过。
输入格式
输入共 $1 + H$ 行。
第 $1$ 行包含两个整数 $H, W$($1 \leq H \leq 100$,$1 \leq W \leq 100$),表示 JOI 市被划分为 $H \times W$ 个 $1$ 千米见方的小区块。
接下来的 $H$ 行中,第 $i$ 行($1 \leq i \leq H$)为一个长度为 $W$ 的字符串。第 $j$ 个字符($1 \leq j \leq W$)表示小区块 $(i, j)$ 上空当前是否有云。若有云则为字符 `c`(小写字母),无云则为字符 `.`(英文句点)。
输出格式
输出共 $H$ 行,每行包含 $W$ 个整数,整数之间用一个空格隔开。输出的第 $i$ 行第 $j$ 个整数($1 \leq i \leq H$,$1 \leq j \leq W$)表示距离现在多少分钟后小区块 $(i, j)$ 上空会首次有云经过。如果当前已有云,则输出 $0$;如果无论经过多少分钟都不会有云经过,则输出 $-1$。
每行行首和行尾不得有多余空格。
说明/提示
### 样例解释 1
在输入输出样例 $1$ 中,JOI 市被划分为 $3 \times 4$ 个小区块。当前 JOI 市的云分布如下图所示。图中上方为北方。

之后,云每过 $1$ 分钟会如下移动:



由 ChatGPT 4.1 翻译