a131: 戰車過境
Tags : 二維陣列 模擬
Accepted rate : 1人/2人 ( 50% ) [非即時]
評分方式:
Strictly

最近更新 : 2022-01-21 23:10

Content

在一個大小為 $N \times M$ 的廣場上,有一台大小為 $L \times W$ 的戰車以及 $O$ 個障礙物。我們定義廣場最左上角的座標為 $(0, 0)$,右下角為 $(M-1, N-1)$。

一開始戰車會在廣場的最左上角 $(0, 0) \sim (W-1, L-1)$的矩形中,並依據以下的操作指令移動:

  • 若指令為 0,則戰車停留在原地
  • 若指令為 1,則戰車向右移動一格
  • 若指令為 2,則戰車向下移動一格
  • 若指令為 3,則戰車向左移動一格
  • 若指令為 4,則戰車向上移動一格
  • 若指令為 5,則戰車向右下方移動一格

在戰車移動的過程中,可能會遇到障礙物阻擋,如果戰車移動時會超出界外或是同時會碰到兩個以上的障礙物則無法前進,否則戰車會前進並消除障礙物。

下圖為範例三的模擬過程:

請你寫一個程式模擬戰車的移動,並印出最後結果。題目保證最一開始戰車所在的地方不會有任何障礙物。

Input

第一行輸入 $N, M, L, W$。第二行輸入$O$。

接下來 $O$ 行每行輸入每個障礙物的的 $x, y$ 座標。

最後一行輸入一串操作指令,直到 EOF 為止,保證至少會有一個指令。

測資的範圍如下:

  • $0<N,M,L,W<500$
  • $0≤O<N×M−L×W$

各子題組配分如下:

  • 20 分: $L = W = 1$ 且所有操作只會有 $0 \sim 4$。
  • 50 分: 所有操作只會有 $0 \sim 4$。
  • 30 分: 無其他限制。
Output

將最後廣場的地圖印出來,以 1 代表戰車、2 代表障礙物、0 代表空地,每格內容之間不用空格隔開。

Sample Input #1
5 5 1 1
4
2 1
2 3
4 1
4 4
2 1 4 3 1 2 2 2 2 1 1 1 0
Sample Output #1
00000
00202
00000
00200
00001
Sample Input #2
4 5 2 3
6
0 2
1 2
1 3
2 3
3 0
4 2
0 2 0 1 3 2 0
Sample Output #2
11100
11100
22002
02200
Sample Input #3
4 5 2 3
6
0 2
1 2
1 3
2 3
3 0
4 2
0 5 4 0 5 1 3 2 0
Sample Output #3
00000
01110
21110
02200
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1M
公開 測資點#3 (10%): 1.0s , <1M
公開 測資點#4 (10%): 1.0s , <1M
公開 測資點#5 (10%): 1.0s , <1M
公開 測資點#6 (10%): 1.0s , <1M
公開 測資點#7 (10%): 1.0s , <1K
公開 測資點#8 (10%): 1.0s , <1M
公開 測資點#9 (10%): 1.0s , <1M
Hint :
Tags:
二維陣列 模擬
出處:
judgegirl [管理者:
ktlai (K.我已霸榜.Tlai)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」