題目描述(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 ...