相信大家都玩過「俄羅斯方塊」遊戲吧,「俄羅斯方塊」是乙個有趣的電腦小遊戲,現有乙個有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#25 1
0 0 0 0 0
input#39 4
4 3 5 4 6 5 7 6 6
output#15
output#27
output#31
把每種情況列舉一遍
然後用原本高度加
以方塊某高度作中點對應的值
如果都相等就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...