QOJ.ac

QOJ

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

#23841. Peramal Cuaca

Statistiques

Kota JOI berbentuk persegi panjang dengan panjang $H$ kilometer pada arah utara-selatan dan $W$ kilometer pada arah timur-barat, serta terbagi menjadi $H \times W$ petak kecil berukuran $1$ kilometer persegi. Petak kecil ke-$i$ dari utara dan ke-$j$ dari barat dinyatakan dengan $(i, j)$.

Setiap petak kecil memiliki awan di langit di atasnya atau tidak memiliki awan. Semua awan bergerak $1$ kilometer ke timur setiap $1$ menit berlalu. Karena cuaca hari ini sangat cerah, tidak ada awan yang bergerak masuk ke dalam Kota JOI dari luar Kota JOI.

Saat ini, sudah diketahui apakah ada awan atau tidak di langit di atas setiap petak kecil. Sebagai seorang peramal cuaca, Anda bertugas memprediksi untuk setiap petak kecil, berapa menit dari sekarang awan akan datang ke langit di atas petak kecil tersebut untuk pertama kalinya.

Untuk setiap petak kecil, tentukan berapa menit dari sekarang awan akan datang ke langit di atas petak kecil tersebut untuk pertama kalinya.

Masukan

Masukan terdiri dari $1 + H$ baris.

Baris pertama berisi bilangan bulat $H, W$ ($1 \le H \le 100, 1 \le W \le 100$) yang dipisahkan oleh spasi. Ini menyatakan bahwa Kota JOI terbagi menjadi $H \times W$ petak kecil berukuran $1$ kilometer persegi.

Baris ke-$i$ ($1 \le i \le H$) dari $H$ baris berikutnya berisi sebuah string yang terdiri dari $W$ karakter. Karakter ke-$j$ ($1 \le j \le W$) dari $W$ karakter tersebut menyatakan apakah saat ini terdapat awan di langit di atas petak kecil $(i, j)$. Jika terdapat awan, tertulis karakter 'c' (huruf kecil bahasa Inggris), dan jika tidak terdapat awan, tertulis karakter '.' (titik).

Keluaran

Keluaran terdiri dari $H$ baris, dan masing-masing baris terdiri dari $W$ bilangan bulat yang dipisahkan oleh spasi. Bilangan bulat ke-$j$ pada baris ke-$i$ dari keluaran ($1 \le i \le H, 1 \le j \le W$) harus menyatakan berapa menit dari sekarang awan akan datang ke langit di atas petak kecil $(i, j)$ untuk pertama kalinya. Namun, jika saat ini sudah ada awan di langit di atas petak kecil $(i, j)$, keluarkan $0$, dan jika sampai kapan pun tidak akan ada awan yang datang ke langit di atas petak kecil $(i, j)$, keluarkan $-1$.

Jangan menambahkan spasi berlebih di awal maupun di akhir setiap baris keluaran.

Contoh

Masukan 1

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

Keluaran 1

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

Catatan

Pada Contoh 1, Kota JOI terbagi menjadi $3 \times 4$ petak kecil. Kondisi awan di Kota JOI saat ini adalah sebagai berikut. Bagian atas gambar menunjukkan arah utara.

problem_23841_94a18190c50f717cd44d7f844d77a7f4.png

Setelah ini, setiap $1$ menit awan bergerak sebagai berikut.

problem_23841_3184075bd335b0698ed70b0ebfc5c0ec.png problem_23841_1fbf60b384fef9f69c3256331aae624b.png problem_23841_6a3f4ba29e62183a0d7dacc38ab6caee.png

Masukan 2

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

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