a063. 印章拼貼

中等陣列字串模擬

時間限制 2000 ms ・ 記憶體限制 256 MB

題目描述

美術社要用同一顆印章裝飾一張海報。海報本身是一張 R × C 的字元方格,可能已經印有字母,也可能有空白位置 .;印章則是一張較小的 H × W 字元方格。每次蓋章時,美術社只會移動印章的位置,不會旋轉印章或改變它的圖案。

印章上的字母有顏料,會覆蓋海報對應位置原本的字元;印章上的 . 是透明的,不會把海報原有的字母擦掉,也不會清空先前蓋過的顏色。若兩次蓋章的有色部分落在同一格,最後看見的是後蓋的那個字母。

每筆座標指定印章左上角對準海報的哪一格,從 (1, 1) 開始計算。請依序完成全部蓋章操作,再輸出海報最後的樣子。印章即使完全透明,操作仍然有效,只是畫面不會變。

輸入格式

第一行 R C,接著 R 行海報;下一行 H W,接著 H 行印章;下一行 Q,最後 Q 行各有座標 r c,表示印章左上角的位置。座標從 1 開始。

限制

  • 1 ≤ R, C ≤ 50;1 ≤ H ≤ R、1 ≤ W ≤ C;1 ≤ Q ≤ 100
  • 所有放置都完全在海報內;海報與印章只包含大寫字母和 .

輸出格式

輸出 R 行蓋完章後的海報,每行不含空白。

範例1

範例輸入:

3 4
....
....
....
2 2
A.
.B
2
1 2
2 3

範例輸出:

.A..
..A.
...B

第一次蓋章後第二列第三格是 B;第二次的 A 落在同一格,覆蓋了先前的 B。

範例2

範例輸入:

1 1
Z
1 1
.
1
1 1

範例輸出:

Z

印章只有透明格,所以原本的 Z 留在海報上。

範例測資

範例輸入 1

3 4
....
....
....
2 2
A.
.B
2
1 2
2 3

範例輸出 1

.A..
..A.
...B

範例輸入 2

1 1
Z
1 1
.
1
1 1

範例輸出 2

Z
請先登入後再提交程式碼

討論與題解

載入討論區…

更多