QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 2048 MB Total points: 100

#8679. Memiringkan ubin

Statistics

Anda menemukan teka-teki aneh di dalam kotak mainan lama di loteng. Teka-teki itu berupa papan persegi panjang yang terdiri dari $h \times w$ sel persegi. Beberapa sel memiliki ubin berwarna, seperti pada Gambar F.1.

problem_8679_141bfaa0ba0c1196198d6deee1100655.png

Gambar F.1: Ubin berwarna sesuai dengan susunan awal pada Contoh Masukan 1.

Anda belum yakin apa tujuan tepat teka-teki ini, tetapi mulai meneliti cara menyusun ulang ubinnya. Susunannya dapat diubah dengan memiringkan papan ke salah satu dari empat arah utama: ke kiri Anda, ke kanan Anda, ke arah Anda, atau menjauhi Anda. Pemiringan menyebabkan semua ubin meluncur ke arah tersebut hingga terhalang tepi atau ubin lain. Diberikan susunan awal dan akhir, tentukan apakah ada suatu urutan pemiringan yang mengubah yang pertama menjadi yang kedua. Gambar F.2 menunjukkan pemiringan teka-teki pada Contoh Masukan 1.

problem_8679_eb20e1509cd290b03249b30fb584f1df.png

Gambar F.2: Solusi untuk Contoh Masukan 1.

Masukan

Baris pertama berisi dua bilangan bulat $h$ dan $w$ ($1 \le h,w \le 500$), yang menyatakan tinggi dan lebar papan. Kemudian ada $h$ baris yang memberikan susunan awal dari baris teratas ke terbawah. Setiap baris berisi string sepanjang $w$ yang menjelaskan sel dari kiri ke kanan. Sel kosong dilambangkan dengan titik (.). Jika terdapat ubin, warnanya dilambangkan dengan huruf kecil (a-z). Huruf yang berbeda menyatakan warna yang berbeda, dan ubin berwarna sama tidak dapat dibedakan.

Setelah susunan awal terdapat satu baris kosong, lalu deskripsi susunan akhir yang terdiri atas $h$ baris dengan format yang sama.

Keluaran

Keluarkan yes jika ada urutan pemiringan yang mengubah susunan awal menjadi susunan akhir, dan no jika tidak.

Contoh

Masukan 1

4 4
.r..
rgyb
.b..
.yr.

yrbr
..yr
...g
...b

Keluaran 1

yes

Masukan 2

1 7
....x..

..x....

Keluaran 2

no

Masukan 3

4 3
yr.
..b
ry.
b..

...
..b
.ry
byb

Keluaran 3

no

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.