問題 C 逃離機場

2021-10-02 22:24:44 字數 1951 閱讀 1303

題目描述

小明聽說機場是乙個很肥的地方,所以想跳一波機場,看看到底有多肥。不過機場雖然肥,但是跳的人也多。小明第一次跳機場,剛跳下來就到處都是槍聲,小明嚇得快要哭出來了,想逃離機場,emmm,還是打野比較適合他。

現在把機場看作乙個二維平面,』.『代表可以走的空地,』@'代表小明當前的位置,'x』代表這裡是個障礙物,'o』代表這裡有個敵人,並且手裡有槍,敵人可以攻擊上下左右四個方向,小明只要走到或者一開始就在敵人可以攻擊的位置,就會死亡(機場個個都是98k爆頭dalao),子彈不會穿過障礙物,敵人不會移動。小明只能往上下左右走,每走一步需要1秒,只要小明移動到機場的邊緣再走一步就算逃離了機場,現在小明請你幫他找一條最快逃離機場的線路,輸出這個時間,如果怎麼都逃不出去,輸出"no zuo no die!"(不含引號)。

輸入格式

多組測試資料,首先第一行乙個整數t,代表測試資料組數。1≤t≤100。

每組測試資料有n,m(1≤n,m≤200),代表機場是乙個n×m的方陣,接下來是乙個由』.』,』@』,『x』,『o』構成的n×m的方陣,』@'只有乙個。

輸出格式

對於每組資料輸出乙個數代表最快需要多少時間逃出機場,或者"no zuo no die!"。

輸入樣例

3

5 5.x.x.

.x.x.

……@…

.o.o.

3 3@…

***o.x

3 3o.o

[email protected].

題目思路:1.只要小明落在敵人上下左右任意乙個方向都會死。因此先對敵人四個方向進行「#「填充,填充過程一旦遇到小明,則遊戲結束2.對小明位置展開bfs,尋找最短路徑。

**如下:

#include

#include

#include

using namespace std;

struct node

;node s;

500]

[500];

int dir[4]

[2]=

;int n,m;

void

book

(int x,

int y,

int&flag)

else

if[y]

=='.'

)[y]

='#';}

//該點以上填充

for(

int i=x-

1;i>=

0;i--

)else

if[y]

=='.'

)[y]

='#';}

//該點以左填充

for(

int i=y-

1;y>=

0;y--

)else

if[i]

=='.'

)[i]

='#';}

//該點以右填充

for(

int i=y+

1;i)else

if[i]

=='.'

)[i]

='#';}

}int

bfs(node s1)}}

return-1

;}intmain()

else

if[j]

=='o')}

}if(flag==

1)cout<<

"no zuo no die!"

return0;

}

逃離迷宮之轉彎問題。

time limit 1000msmemory limit 32768kb64bit io format i64d i64u description 給定乙個m n m行,n列 的迷宮,迷宮中有兩個位置,gloria想從迷宮的乙個位置走到另外乙個位置,當然迷宮中有些地方是空地,gloria可以穿越,...

動態規劃思想解守望者的逃離問題

惡魔獵手尤迪安野心勃勃,他背叛了暗夜精靈,率領深藏在海底的娜迦族企圖叛變。守望者在與尤迪安的交鋒中遭遇了圍殺,被困在乙個荒蕪的大島上。為了殺死守望者,尤迪安開始對這個荒島施咒,這座島很快就會沉下去。到那時,島上的所有人都會遇難。守望者的跑步速度為17m s,以這樣的速度是無法逃離荒島的。慶幸的是守望...

2019全國數學建模大賽c題計程車機場資料

問題c 機場的計程車問題 大多數乘客下飛機後要去市區 或周邊 的目的地,計程車是主要的交通工具之一。國 內多數機場都是將送客 出發 與接客 到達 通道分開的。送客到機場的計程車司機都將 會面臨兩個選擇 a 前往到達區排隊等待載客返回市區。計程車必須到指定的 蓄車池 排隊等候,依 先來後到 排隊進場載...