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.