先來說說題目意思吧,如圖,幫助小人找到乙個放炸彈的座標,使之一顆炸彈炸死最多的敵人。
我們用字元g表示敵人,#表示牆, . 表示可以走的路,特別說明下,那種一推就倒的牆,就把它看做路吧。
bfs:
#includeusing namespace std;
struct note
;struct note que[401];
int book[20][20];
int i,j,k,sum,maxs=0,mx,my,n,m,startx,starty,tx,ty;
int next[4][2]=,,,
};char a[20][21];//用來儲存地圖
int getnum(int i,int j)
x=i;
y=j;
while(a[x][y]!='#')
x=i;
y=j;
while(a[x][y]!='#')
x=i;
y=j;
while(a[x][y]!='#')
return sum;
}void bfs()
}} head++; }}
int main()
, ,,};
int getnum(int i,int j)
x = i;y = j; //記錄初始的搜尋點i,j
while ( a[x][y]!='#' )
x = i;y = j; //記錄初始的搜尋點i,j
while ( a[x][y]!='#' )
x = i;y = j; //記錄初始的搜尋點i,j
while ( a[x][y]!='#' )
return sum;
} void dfs(int x,int y)
for(h=0;h<=3;h++)
}}int main(void)
{ int i,startx,starty;
cin>>n>>m>>startx>>starty;
for ( int i = 0;i >a[i];
book[startx][starty]=1;
maxs=getnum(startx,starty);
mx=startx;
my=starty;
dfs(startx,starty);
cout<
炸彈人 模擬,列舉
題目描述 id 12033 炸彈人標籤 模擬詳情 小哼最近愛上了 炸彈人 遊戲。你還記得在小霸王遊戲機上的炸彈人嗎?用放置炸彈的方法來消滅敵人。需將畫面上的敵人全部消滅後,並找到隱藏在牆裡的暗門才能過關。現在有乙個特殊的關卡如下。你只有一枚炸彈,但是這枚炸彈威力超強 殺傷距離超長,可以消滅殺傷範圍內...
啊哈!演算法 列舉之炸彈人
炸彈人 現有關卡 遊戲者只有一枚炸彈,且炸彈可以殺死殺傷範圍內所有敵人。請問炸彈放在哪個位置,可以消滅最多的敵人。思路 首先將地圖模型化。牆用 表示 敵人用g表示 空地用.表示。炸彈只能放在空地上。如 13行13列 gg.ggg ggg.g g g g g g g g gg.ggg.gg g g g...
炸彈人遊戲開發系列(9) 總結
心得 體會 從今年6月份開始寫,到現在10月份完成,全部加在一起實際花了2個多月的時間來完成炸彈人系列博文的創作。在本系列的博文中,我一直試圖向大家展現我的思考過程,並把重點放在了設計和重構上。相信大家在看完本系列後,對遊戲開發 物件導向 迭代和重構應該有了一些基本的了解。如果您想繼續研究物件導向思...