QOJ.ac

QOJ

Limite de temps : 10 s Limite de mémoire : 256 MB Points totaux : 100

#23841. Meteorologi

Statistiques

JOI-kaupunki on suorakulmio, jonka koko pohjois-eteläsuunnassa on $H$ kilometriä ja itä-länsisuunnassa $W$ kilometriä, ja se on jaettu $H \times W$ pieneen $1$ neliökilometrin kokoiseen ruutuun. Pohjoisesta lukien $i$-ttä ja lännestä lukien $j$-ttä ruutua merkitään $(i, j)$.

Jokaisen ruudun yläpuolella taivaalla joko on pilvi tai ei ole pilveä. Kaikki pilvet liikkuvat $1$ kilometrin itään aina $1$ minuutin kuluttua. Koska tänään on todella hyvä sää, JOI-kaupungin ulkopuolelta ei saavu pilviä kaupungin sisälle.

Nyt tiedetään jokaisesta ruudusta, onko sen yläpuolella pilvi vai ei. Meteorologina tehtäväsi on ennustaa jokaiselle ruudulle, kuinka monen minuutin kuluttua tästä hetkestä kyseisen ruudun yläpuolelle saapuu pilvi ensimmäisen kerran.

Laske jokaiselle ruudulle, kuinka monen minuutin kuluttua tästä hetkestä sen yläpuolelle saapuu pilvi ensimmäisen kerran.

Syöte

Syöte koostuu $1 + H$ rivistä.

Ensimmäisellä rivillä on välilyönnillä erotetut kokonaisluvut $H, W$ ($1 \le H \le 100, 1 \le W \le 100$). Tämä tarkoittaa, että JOI-kaupunki on jaettu $H \times W$ pieneen $1$ neliökilometrin ruutuun.

Seuraavien $H$ rivin $i$-nnellä rivillä ($1 \le i \le H$) on $W$ merkistä koostuva merkkijono. Näistä $W$ merkistä $j$-s merkki ($1 \le j \le W$) kertoo, onko ruudun $(i, j)$ yläpuolella tällä hetkellä pilvi. Jos pilvi on, merkki on 'c' (pieni englantilainen kirjain), ja jos pilveä ei ole, merkki on '.' (piste).

Tuloste

Tuloste koostuu $H$ rivistä, ja jokaisella rivillä on $W$ välilyönnein erotettua kokonaislukua. Tulosteen $i$-nnen rivin $j$-nnen kokonaisluvun ($1 \le i \le H, 1 \le j \le W$) tulee ilmaista, kuinka monen minuutin kuluttua tästä hetkestä ruudun $(i, j)$ yläpuolelle saapuu pilvi ensimmäisen kerran. Jos ruudun $(i, j)$ yläpuolella on kuitenkin pilvi jo nyt, tulosta $0$, ja jos ruudun $(i, j)$ yläpuolelle ei saavu pilveä koskaan riippumatta siitä, kuinka monta minuuttia kuluu, tulosta $-1$.

Älä tulosta ylimääräisiä välilyöntejä minkään tulosterivin alkuun tai loppuun.

Esimerkit

Syöte 1

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

Tuloste 1

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

Huomautus

Esimerkissä 1 JOI-kaupunki on jaettu $3 \times 4$ ruutuun. JOI-kaupungin tämänhetkinen pilvitilanne on seuraava. Kuvan yläreuna esittää pohjoista.

problem_23841_94a18190c50f717cd44d7f844d77a7f4.png

Tämän jälkeen pilvet liikkuvat $1$ minuutin välein seuraavasti.

problem_23841_3184075bd335b0698ed70b0ebfc5c0ec.png problem_23841_1fbf60b384fef9f69c3256331aae624b.png problem_23841_6a3f4ba29e62183a0d7dacc38ab6caee.png

Syöte 2

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

Tuloste 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.