摘要:俄羅斯方塊游戲很有趣味性,游戲吸引人的地方在于幾個不規則的圖形變化。那不規則圖形能否完全覆蓋全部空間呢,在理論上能得到結論嗎?文中試著對L形方塊入手,從理論上給出它能充滿游戲空間的條件。
關鍵詞:俄羅斯方塊;L形方塊;完全覆蓋
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)12-20ppp-0c
The Condition of Russia-Block are Covered with L-shape Squares
ZHAO Fu-sheng
(Shenyang Normal University, Drama Art College, Foundation Department, Liaoning Prov., Shenyang 110034, China)
Abstract: Russia-block game is very interesting , the game is so attractive that we owe it to several irregular figures. Whether that irregular artwork can cover all space completely, or can we draw a conclusion in theory? The article narrows the focus to L-shape square and we try to find the answer theoretically that it covers all room.
Key words: Russia-Block; L-shape Square; cover completely
很多人都玩過一款經典的小游戲——俄羅斯方塊,我不知道你是不是玩到過盡頭,通過了所有的關卡。可以肯定,很多人都是有“死”的時候,或是從沒玩到過盡頭吧!那是我們技術不過硬,還是游戲本身設置得不能玩到頭呢?我尚且不知道這個答案,因為游戲里有5種方塊,如圖1~圖5,若游戲本身只有圖1和圖2,則游戲會很簡單且毫無意義,它的趣味性就在于幾個不規則圖形。我在想:如果游戲只有圖3(L形方塊),是不是也會變得很簡單呢?不是的,如果你隨意擺放L形方塊,肯定會“死”。下面是我的證明過程。
俄羅斯方塊的空間是用矩陣,其實就是數組(稱之為數組空間)構建起來的,5種方塊也是數組,方塊的旋轉是數組的倒序排列,更多的計算機編程方法不在此討論,我從靠近數學的方面給出L形方塊填滿全部空間的充要條件。這款游戲的實質就是5種方塊的數組怎樣擺放能完全覆蓋數組空間。現只觀察圖3,方格數為4個,設俄羅斯方塊空間是m×n格(數組的每一單元是一個格),則L形方塊若能完全覆蓋數組空間,m×n必是4的倍數,即m×n=4k1(m>1,n>1,k1>1)。于是數組空間至少有一個方向(設為列方向)的格數為偶,為便于分析,把空間隔行染成黑白兩色,每行諸格同色,得到全盤的黑格數=白格數=mn/2。此時任意位置的L形方格必然覆蓋3個黑格1個白格或3個白格1個黑格。令前者有a片,后者有b片,有如下等式:3a+b=3b+a=mn/2.所以a=b,即必須同時存在偶數片的L形方格,或者說至少同時有2片L形方格,那么把2片L形方格看作一個整體,得到8個方格,從而m×n一定是8的倍數,即m×n=8k2。進而給出m×n格盤的以下覆蓋方法:m,n皆為偶數時,令m=4p,n=2q,則m×n=4p×2q=8pq=pq(4×2),屬于4×2格盤;m,n之一為奇數時,設m=8p,n=2q+3,則m×n=8p×(2q+3)=2pq(4×2)+p(8×3),屬于8×3格盤。得出結論,只有在這2種情況下,L形方格才會完全覆蓋俄羅斯方塊的空間。簡易覆蓋圖如圖6、圖7。

參考文獻:
[1] 田秋成. 組合數學(第1版)[M].北京:電子工業出版社,2006.
[2] 嚴尉敏,吳偉民. 數據結構(C語言版 第1版)[M]. 北京:清華大學出版社,1997.
收稿日期:2008-03-05
作者簡介:趙福生(1978-),男,助教,遼寧沈陽人,研究方向:計算機基礎教育。