dfs NOIP2011 瑪雅遊戲

2022-03-27 07:51:53 字數 1191 閱讀 7266

檔案太長,傳送門

大爆搜。。。→ _→ ....考試時被卡死了。。

搜每一種狀態,因為狀態太少,不會爆

要判斷下落,然後能否消,再判斷下落,直到不能再消。。

#include#include#include#include#includeusing namespace std;

int n,ans[10][10];

struct node

a;int check(node &x)

if(x.h[i][j]!=0&&x.h[i][j]==x.h[i][j+2]&&x.h[i][j]==x.h[i][j+1])

}for(int i=4;i>=0;i--)

for(int j=6;j>=0;j--)

if(v[i][j])

x.h[i][j]=0;

for(int i=4;i>=0;i--)

for(int j=1;j<=6;j++)

for(int i=0;i<5;i++)

for(int j=0;j<7;j++)

if(x.h[i][j]!=0&&x.h[i][j]==x.h[i][j+2]&&x.h[i][j]==x.h[i][j+1])}}

for(int i=0;i<5;i++)

for(int j=0;j<7;j++)

if(x.h[i][j]!=0)

return 1;

}int dfs(int x,int y,int dir,int len,node zz)

else

if(len==n)return 0;

node b=zz;

for(int i=0;i<5;i++)

for(int j=0;j<7;j++)

}b=zz;

if(i&&zz.h[i-1][j])

continue;

if(i>0)

}b=zz;

}return 0;

}int yjn()

}if(dfs(0,0,0,0,a))

for(int i=1;i<=n;i++)

printf("%d %d %d\n",ans[i][1],ans[i][2],ans[i][3]);

else

printf("-1");

}int qty=yjn();

int main()

NOIP2011 瑪雅遊戲

mayan puzzle 是最近流行起來的乙個遊戲。遊戲介面是乙個7 行5 列的棋盤,上面堆放著一些方塊,方塊不能懸空堆放,即方塊必須放在最下面一行,或者放在其他方塊之上。遊戲通關是指在規定的步數內消除所有的方塊,消除方塊的規則如下 1 每步移動可以且僅可以沿橫向 即向左或向右 拖動某一方塊一格 當...

NOIP瑪雅遊戲

mayan puzzle 是最近流行起來的乙個遊戲。遊戲介面是乙個7 行5 列的棋盤,上面堆放著一些方塊,方塊不能懸空堆放,即方塊必須放在最下面一行,或者放在其他方塊之上。遊戲通關是指在規定的步數內消除所有的方塊 消除方塊的規則如下 1 每步移動可以且僅可以沿橫向 即向左或向右 拖動某一方塊一格 當...

2011初入遊戲之道

2011年時是我正式步入遊戲開發行業的第一年,也是我飛速成長的一年。有煩惱 有痛苦,有憂傷 有打擊.自然也少不了後面的,有收穫 有快樂 有喜悅.既然是從工作技術方面引來的話題,也是我最重要的話題,那就從這裡開始說 感謝我在開過過程中遇到難道,為我制定迷津的,形象我做事風格的人。此人就是himi,相信...