f340: 俄羅斯方塊 (Tetris)
Tags :
Accepted rate : 19人/33人 ( 58% ) [非即時]
評分方式:
Tolerant

最近更新 : 2020-10-25 00:18

Content

2020年8月TOI新手同好會

 

 俄羅斯方塊 (Tetris)

問題敘述

小閔是個厲害的程式高手,在閒暇之餘他最喜歡做的事便是玩俄羅斯方塊。為求精進,他會將每局的操作側錄下來觀察自己的技巧有沒有進步。遊戲中有五種指令,代號為 0 到 4,以 T 字型方塊為例,指令效果如下表所示。

指令代號

指令前

指令後

0

(無指令)

⬜⬛❎⬛⬜⬜

⬜⬜⬛⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬛❎⬛⬜⬜

⬜⬜⬛⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

1

(右移)

⬜⬛❎⬛⬜⬜

⬜⬜⬛⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬛❎⬛⬜

⬜⬜⬜⬛⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

2

(左移)

⬜⬛❎⬛⬜⬜

⬜⬜⬛⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬛❎⬛⬜⬜⬜

⬜⬛⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

3

(置底)

⬜⬛❎⬛⬜⬜

⬜⬜⬛⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬛❎⬛⬜⬜

⬜⬜⬛⬜⬜⬜

4

(右旋)

⬜⬛❎⬛⬜⬜

⬜⬜⬛⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬛⬜⬜⬜

⬜⬛❎⬜⬜⬜

⬜⬜⬛⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

⬜⬜⬜⬜⬜⬜

 

每送出一個指令,方塊都會先往下移一格,再執行該指令之效果。指令執行方式為以中心點先移動再進行其餘方塊位置計算。若途中遇到不合法的指令操作使得方塊超出邊界,必須將該指令視為0號指令(請見範例2)。

請撰寫一個程式模擬操作結果之畫面。

 

評分說明

第一組(30分):測資只包含0~3號指令,並保證沒有不合法指令產生。

第二組(30分):測資包含所有指令,並保證沒有不合法指令產生。

第三組(40分):無特殊限制。

Input

第一行為兩個整數,代表畫面大小為 x×y (x為橫軸大小,y為縱軸大小,3 ≤ x, y ≤ 100)。畫面最左下角座標為 (1, 1)。第二行由一個整數n構成 (1 ≤ n < y),代表遊戲內會出現的所有操作數目。第三行由n個整數構成,代表對方塊所下達之指令。

⬛❎⬛

⬜⬛⬜

錨點為旋轉時的參考點(上圖標記叉號所在位置),當該方塊旋轉時,以錨點作為基準點。除此之外,錨點亦為初始生成位置之參考點,初始方塊出現錨點座標為 (⌈x/2⌉ , y),且面對方向如上圖所示。(⌈x⌉ 代表為對x向上取整數值。)

Output

輸出遊戲執行完所有指令後的畫面。以1代表有方塊之空間,0代表無方塊之空間。

範例3說明:已經置底後的指令皆為無效指令,不執行。

Sample Input #1
6 6
3
0 1 3
Sample Output #1
000000
000000
000000
000000
001110
000100
Sample Input #2
6 6
4
1 1 1 1
Sample Output #2
000000
000000
000000
000000
000111
000010
Sample Input #3
5 5
5
1 4 3 1 1
Sample Output #3
00000
00000
00010
00110
00010
Sample Input #4
3 6
4
4 4 0 4
Sample Output #4
000
000
000
010
011
010
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (5%): 1.0s , <1K
公開 測資點#1 (5%): 1.0s , <1K
公開 測資點#2 (5%): 1.0s , <1K
公開 測資點#3 (5%): 1.0s , <1K
公開 測資點#4 (5%): 1.0s , <1K
公開 測資點#5 (5%): 1.0s , <1K
公開 測資點#6 (5%): 1.0s , <1K
公開 測資點#7 (5%): 1.0s , <1K
公開 測資點#8 (5%): 1.0s , <1K
公開 測資點#9 (5%): 1.0s , <1K
公開 測資點#10 (5%): 1.0s , <1K
公開 測資點#11 (5%): 1.0s , <1K
公開 測資點#12 (5%): 1.0s , <1K
公開 測資點#13 (5%): 1.0s , <1K
公開 測資點#14 (5%): 1.0s , <1K
公開 測資點#15 (5%): 1.0s , <1K
公開 測資點#16 (5%): 1.0s , <1K
公開 測資點#17 (5%): 1.0s , <1K
公開 測資點#18 (5%): 1.0s , <1K
公開 測資點#19 (5%): 1.0s , <1K
Hint :
Tags:
出處:
TOI2020年8月新手同好會 [管理者:
p3a_owhj (阿普二信)
]


ID User Problem Subject Hit Post Date
23146
yes51851823@... (wseds)
f340
273 2020-10-25 21:12