俄羅斯方塊

2021-09-24 04:37:13 字數 1488 閱讀 5290

相信大家都玩過「俄羅斯方塊」遊戲吧,「俄羅斯方塊」是乙個有趣的電腦小遊戲,現有乙個有c列、行不受限定遊戲平台,每一次下落的方塊是下列的7個圖形的一種:

在下落的過程中,遊戲者可以作90、 180或270 度旋轉,還可以左右移動,對於每一次方塊落地,我們要求方塊的每一部分都必須與地面(最底面或己落下的方塊上表面)接觸,例如,有乙個寬度為6列的平台,每一列的初始高度(已經占用的方格數)分別為2, 1, 1, 1, 0 和 1。編號為5的方塊下落,有且僅有5種不同的落地方法:

現給出每一列的初始高度和下落方塊的形狀,請你編寫乙個程式,求出落地的方法總數,也就是落地後,地表面形成的不同的形狀總數。

第一行為二個整數c和p,1 ≤ c ≤ 100, 1 ≤ p ≤ 7,表示列數和下落方塊的編號

第二行共有用乙個空隔隔開的c個整數,每乙個數字在 0 到 100,之間(包含0和100),表示每一列的初始高度

輸出為乙個整數,表示落地的方法總數

input#1

6 5

2 1 1 1 0 1

input#2
5 1

0 0 0 0 0

input#3
9 4

4 3 5 4 6 5 7 6 6

output#1
5
output#2
7
output#3
1
把每種情況列舉一遍

然後用原本高度加

以方塊某高度作中點對應的值

如果都相等就ans

++ans++

ans+

+

#include

#include

#include

#include

#include

using

namespace std;

const

int way[8]

[4][

5]=,

,,}//0,,

,,}//1,,

,,}//2,,

,,}//3,,

,,}//4,,

,,}//5,,

,,}//6,,

,,}//7};

int ans,n,m;

int a[

125]

;int

main()

if(f)ans++;}

}printf

("%d"

,ans)

;return0;

}

俄羅斯方塊高階 AI俄羅斯方塊

前文回顧 致青春 python實現俄羅斯方塊 人工智慧大火的今天,如果還是自己玩俄羅斯方塊未免顯得太low,為什麼不對遊戲公升級,讓機器自己去玩俄羅斯方塊呢?有了這個想法之後利用週六週日兩天的時間去蒐集了大量的資料,在電腦宕機好多次之後終於將ai俄羅斯方塊實現了。所謂讓機器自己去玩俄羅斯方塊,就是讓...

俄羅斯方塊

俄羅斯方塊 tetris,俄文 是一款風靡全球的電視遊戲機 和掌上遊戲機遊戲,它由俄羅斯人阿列克謝 帕基特諾夫 發明,故得此名。俄羅斯方塊的基本規則是移動 旋轉和擺放遊戲自動輸出的各種方塊,使之排列成完整的一行或多行並且消除得分。由於上手簡單 老少皆宜,從而家喻戶曉,風靡世界。俄羅斯方塊的開發者是阿...

俄羅斯方塊

include include include include includeusing namespace std include include define mem a,b memset a,b,sizeof a const int sudu 40 const int dir 4 2 cons...