QOJ.ac

QOJ

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

#8679. إمالة البلاطات

Statistics

وجدت لغزًا غريبًا في صندوق ألعاب قديمة في العلية. يتكون اللغز من لوحة مستطيلة من $h \times w$ خلايا مربعة. تحتوي بعض الخلايا على بلاطة ملونة، كما في الشكل F.1.

problem_8679_141bfaa0ba0c1196198d6deee1100655.png

الشكل F.1: تقابل البلاطات الملونة الترتيب الابتدائي في إدخال المثال 1.

لست متأكدًا بعد من الهدف الدقيق لهذا اللغز، لكنك بدأت تفحص طرق إعادة ترتيب البلاطات. يمكنك تغيير ترتيبها بإمالة اللوحة في أحد الاتجاهات الرئيسية الأربعة: إلى يسارك، أو إلى يمينك، أو نحوك، أو بعيدًا عنك. تجعل الإمالة جميع البلاطات تنزلق في الاتجاه المعني حتى تصطدم بالحدود أو ببلاطة أخرى. عند إعطائك ترتيبًا ابتدائيًا وآخر نهائيًا، حدد ما إذا كانت هناك سلسلة من الإمالات تحول الأول إلى الثاني. يوضح الشكل F.2 إمالة اللغز الوارد في إدخال المثال 1.

problem_8679_eb20e1509cd290b03249b30fb584f1df.png

الشكل F.2: حل إدخال المثال 1.

الإدخال

يحتوي السطر الأول على عددين صحيحين $h$ و$w$ ($1 \le h,w \le 500$)، يمثلان ارتفاع اللوحة وعرضها. تليه $h$ أسطر تعطي الترتيب الابتدائي من الصف الأعلى إلى الأسفل. يحتوي كل سطر على سلسلة طولها $w$ تصف خلايا الصف من اليسار إلى اليمين. إذا كانت الخلية فارغة، فالحرف المقابل نقطة (.). وإذا كانت فيها بلاطة، فيُعطى لونها بحرف لاتيني صغير (a-z). تمثل الأحرف المختلفة ألوانًا مختلفة، ولا يمكن تمييز البلاطات ذات اللون نفسه عن بعضها.

بعد الترتيب الابتدائي يوجد سطر فارغ واحد، ثم وصف الترتيب النهائي المؤلف من $h$ أسطر بالتنسيق نفسه.

الإخراج

اطبع yes إذا وجدت سلسلة إمالات تحول الترتيب الابتدائي إلى النهائي، وإلا فاطبع no.

أمثلة

الإدخال 1

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

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

الإخراج 1

yes

الإدخال 2

1 7
....x..

..x....

الإخراج 2

no

الإدخال 3

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

...
..b
.ry
byb

الإخراج 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.