2255 JZOJ 4 1 俄羅斯方塊

2021-07-30 17:37:50 字數 1120 閱讀 6315

相信大家都玩過「俄羅斯方塊」遊戲吧,「俄羅斯方塊」是乙個有趣的電腦小遊戲,現有乙個有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),表示每一列的初始高度

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

6 5

2 1 1 1 0 1

5 模擬水題。。。

直接列舉每一段是否恰好符合方塊形狀。

為了省**,強行使用三維陣列將這道題壓到乙個for中。

#include#include#includeusing namespace std;

int block[10][5][5]=,},

}, ,},

,},,,,},

,,,},

,,,}

};int t[7]=;

int b[5],c[105];

int n,p,ans;

int main(){

cin>>n>>p;p--;

for(int i=1;i<=n;i++)cin>>c[i];

for(int i=0;in)break;

int minn=0x3f3f3f3f,f=1;

for(int k=j;k

俄羅斯方塊高階 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...