QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 256 MB Total points: 100

#23841. Meteorólogo

Statistics

La ciudad de JOI tiene forma de rectángulo de $H$ kilómetros en dirección norte-sur y $W$ kilómetros en dirección este-oeste, y está dividida en $H \times W$ pequeñas secciones cuadradas de $1$ kilómetro de lado. La $i$-ésima sección desde el norte y $j$-ésima desde el oeste se denota por $(i, j)$.

Cada sección tiene o bien una nube en el cielo sobre ella o bien ninguna nube. Todas las nubes se mueven $1$ kilómetro hacia el este cada $1$ minuto. Como hoy hace muy buen tiempo, ninguna nube entrará en la ciudad de JOI desde fuera de la ciudad.

Ahora mismo se sabe si hay o no una nube sobre cada sección. Como meteorólogo, debes predecir para cada sección cuántos minutos a partir de ahora tardará en llegar por primera vez una nube al cielo sobre esa sección.

Para cada sección, calcula dentro de cuántos minutos a partir de ahora llegará por primera vez una nube al cielo sobre esa sección.

Entrada

La entrada consta de $1 + H$ líneas.

La primera línea contiene los enteros $H, W$ ($1 \le H \le 100, 1 \le W \le 100$) separados por un espacio. Esto representa que la ciudad de JOI está dividida en $H \times W$ pequeñas secciones cuadradas de $1$ kilómetro de lado.

La $i$-ésima línea ($1 \le i \le H$) de las siguientes $H$ líneas contiene una cadena de $W$ caracteres. El $j$-ésimo carácter ($1 \le j \le W$) de los $W$ caracteres indica si actualmente hay o no una nube sobre la sección $(i, j)$. Si hay una nube, está escrito el carácter 'c' (letra minúscula inglesa), y si no hay nube, está escrito el carácter '.' (punto).

Salida

La salida consta de $H$ líneas, y cada línea consta de $W$ enteros separados por espacios. El $j$-ésimo entero en la $i$-ésima línea de la salida ($1 \le i \le H, 1 \le j \le W$) debe representar dentro de cuántos minutos a partir de ahora llegará por primera vez una nube sobre la sección $(i, j)$. Sin embargo, si ahora mismo ya hay una nube sobre la sección $(i, j)$, imprime $0$, y si nunca llegará una nube sobre la sección $(i, j)$ sin importar cuántos minutos pasen, imprime $-1$.

No pongas espacios adicionales al principio ni al final de cada línea de la salida.

Ejemplos

Entrada 1

3 4
c..c
..c.
....

Salida 1

0 1 2 0
-1 -1 0 1
-1 -1 -1 -1

Nota

En el Ejemplo 1, la ciudad de JOI está dividida en $3 \times 4$ secciones. La situación actual de las nubes en la ciudad de JOI es la siguiente. La parte superior de la figura representa el norte.

problem_23841_94a18190c50f717cd44d7f844d77a7f4.png

Después de esto, cada $1$ minuto, las nubes se mueven de la siguiente manera.

problem_23841_3184075bd335b0698ed70b0ebfc5c0ec.png problem_23841_1fbf60b384fef9f69c3256331aae624b.png problem_23841_6a3f4ba29e62183a0d7dacc38ab6caee.png

Entrada 2

6 8
.c......
........
.ccc..c.
....c...
..c.cc..
....c...

Salida 2

-1 0 1 2 3 4 5 6
-1 -1 -1 -1 -1 -1 -1 -1
-1 0 0 0 1 2 0 1
-1 -1 -1 -1 0 1 2 3
-1 -1 0 1 0 0 1 2
-1 -1 -1 -1 0 1 2 3

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.