炸彈人 模擬,列舉

2021-09-10 13:43:03 字數 1300 閱讀 7915

題目描述(id:12033)

炸彈人標籤:

模擬詳情:

小哼最近愛上了「炸彈人」遊戲。你還記得在小霸王遊戲機上的炸彈人嗎?用放置炸彈的方法來消滅敵人。需將畫面上的敵人全部消滅後,並找到隱藏在牆裡的暗門才能過關。

現在有乙個特殊的關卡如下。你只有一枚炸彈,但是這枚炸彈威力超強(殺傷距離超長,可以消滅殺傷範圍內所有的敵人)。請問在**放置炸彈才可以消滅最多的敵人呢。

我們先將這個地圖模型化。牆用 # 表示。這裡有兩種牆,一種是可以被炸掉的,另外一種是不能被炸掉的。但是由於現在只有一枚炸彈,所以都用 # 表示,炸彈是不能穿牆的。敵人用 g 表示,空地用 . 表示,當然炸彈只能放在空地上。

輸入格式:

第一行2個整數為n m 表示迷宮的行和列,接下來的n行m列為地圖。

1<=n,m<=50

輸出格式:

輸出做最多可以消滅的敵人數
樣例:輸入

13 13

#############

#gg.ggg#ggg.#

###.#g#g#g#g#

#.......#..g#

#g#.###.#g#g#

#gg.ggg.#.gg#

#g#.#g#.#.###

##g...g.....#

#g#.#g###.#g#

#...g#ggg.gg#

#g#.#g#g#.#g#

#gg.ggg#g.gg#

#############

輸出解題思路:我們可以找到每乙個空地,算出每個空地可以消滅的敵人。最後找到每種情況的最大值即可。

#include#include#include#include#include#define pi 3.1415926

#define mod 1000000007

using namespace std;

typedef long long ll;

const int max_n=55;

char a[max_n][max_n];

int main()

} }

printf("%d\n",mmax);

return 0;

}

炸彈人遊戲 暴力列舉

先來說說題目意思吧,如圖,幫助小人找到乙個放炸彈的座標,使之一顆炸彈炸死最多的敵人。我們用字元g表示敵人,表示牆,表示可以走的路,特別說明下,那種一推就倒的牆,就把它看做路吧。bfs includeusing namespace std struct note struct note que 401...

啊哈!演算法 列舉之炸彈人

炸彈人 現有關卡 遊戲者只有一枚炸彈,且炸彈可以殺死殺傷範圍內所有敵人。請問炸彈放在哪個位置,可以消滅最多的敵人。思路 首先將地圖模型化。牆用 表示 敵人用g表示 空地用.表示。炸彈只能放在空地上。如 13行13列 gg.ggg ggg.g g g g g g g g gg.ggg.gg g g g...

DFS BFS(解決炸彈人)

問題省略 dfs解決炸彈人 include includeusing namespace std char a 20 21 用來儲存地圖 int book 20 20 maxn,mx,my,n,m int getnum int i,int j x i,y j while a x y x i,y j ...