《巫妖王的遠征》(bfs板子題)

2021-10-02 02:52:13 字數 2978 閱讀 7320

下午要打工作室例賽,會考察搜尋內容,搜尋本來也忘得差不多了,於是想找點題練練手,正好昨天xbl在補很早之前牛客上的一道bfs題,於是今天寫了一下。、

「他的**乃是乙個傳奇。他是亡靈天災的君王,是符文聖劍霜之哀傷的主人,是艾澤拉斯世界一切自由族類的大敵。

巫妖王是無與倫比的強大力量與極端冷酷的化身,他比寒冰更加寒冷的靈魂已經被他的巨集大計畫徹底吞噬。

在這個計畫中,他將毀滅世界上的全部生靈。

巫妖王-阿爾薩斯已經啟動了可能導致艾澤拉斯所有生靈毀滅的計畫,他的天災軍團和驅役亡靈的強大力量將橫掃整個世界。

我們可以將艾澤拉斯視為n∗m的矩陣,其中

s:寒冰王座,起點

t:暴風城,終點

∗:平原,天災軍團可以到達的地方

#:沼澤,天災軍團無法到達的地方

在地圖上存在著 k 個傳送門,借助傳送門,可以瞬間(不花費時間地)從傳送門的任一端到達另一端

天災軍團每小時可以向其周圍4個方向移動一格(上下左右),為了保證天災軍團隨時保持最高戰鬥力,巫妖王命令軍隊每行軍8小時,就原地休息1小時。

現在巫妖王率領他的天災軍團從s出發,問最快多久可以到達t?

輸入描述:

第1行兩個整數n,m (

1<= n, m<=

1000

, 且n,m不同時等於1

)第2到n+

1行每行含有m個字元,其中:

第n+2行有乙個整數k(0

<= k <=

10)隨後k行,每行包含4個整數x1,y1,x2,y2表示傳送門兩端的

座標(x1,y1)

,(x2,y2)(1

<= x1,x2 <= n ,1

<= y1,y2<= m)

(注意,傳送門也可以直接存在於s和t之間,同時,同乙個傳送門的兩

端可能在同乙個位置,但是乙個地點不可能有多個傳送門的一端)

輸出描述:

輸出僅一行,表示巫妖王到達暴風城的最短時間,如果無法到達,

則輸出-

1

這道題是乙個很顯然的bfs題,主要是增加了傳送門、休息時間這兩個點,不過還是有挺多的細節問題需要注意。不然也不會卡我近兩個小時

先看題目,講一下兩個點1.每行軍8小時休息一小時,也就是說每滿八小時要加一小時。如果設不休息時的答案為ans,那麼休息時的答案就為ans=ans+ans/8,當然,如果在第k個8小時剛好抵達,那就不需要休息了,ans還要減1。2.傳送門。這個傳送門沒有規定方向,所以是雙向傳送門,即可以從a端傳送到b端,也可以從b端傳送到a端。另外需要特別注意的是,傳送門的一端可能在沼澤地。另外,使用過的傳送門是肯定不會二次使用的,這裡可以思考一下。還有我覺得題目的傳送門座標越界了。。。

其它的差不多就是bfs模板了

上ac**:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define ll long long

char mp[

1005][

1005];

int vis[

1005][

1005];

int cs[12]

[4];

int ans, flag;

int mov[4]

[2]=

;int sx, sy, ex, ey;

struct haha

a, b;

queue q;

intmain()

else

if(mp[i]

[j]==

't')

int k;

scanf

("%d"

,&k)

;for

(int i =

0; i < k; i++

)else

if(mp[cs[i][0

]][cs[i][1

]]=='#'

|| mp[cs[i][2

]][cs[i][3

]]=='#')}

for(

int i =

0; i < k; i++

)elseif(

(a.x == cs[i][2

]&& a.y == cs[i][3

])&&(ex == cs[i][0

]&& ey == cs[i][1

]))}

while

(!q.

empty()

)for

(int i =

0; i <

4; i++

)else

if(xx == cs[j][2

]&& yy == cs[j][3

])//同上

vis[xx]

[yy]=1

; b.x = xx;

b.y = yy;

b.step = a.step +1;

q.push

(b);}}

if(!flag)

//如果最後抵達

printf

("-1\n");

return0;

}

「巫妖王」襲來,工作遊戲何去何從

轉眼間最大的80 後已經30 歲了,這群社會主義紅旗下吃著肯德基長大的孩子們,不慌不忙的又碰上了pc 想web 遷徙的大變革時代,網路給他們帶來了許多,超速的新聞 風靡的娛樂八卦,網路電視,互動,聊天,當然還有最最紅火的 網路遊戲。記得我第一次玩是初三放假的時候,那個時候 傳奇 這款遊戲剛剛出來一年...

只有蠢貨才會拒絕巫妖王 寒冰王座

時間限制 1 sec 記憶體限制 128 mb 不死族的巫妖王發工資拉,死亡騎士拿到一張n元的鈔票 記住,只有一張鈔票 為了防止自己在戰鬥中頻繁的死掉,他決定給自己買一些道具,於是他來到了地精商店前.死亡騎士 我要買道具 地精商人 我們這裡有三種道具,血瓶150塊乙個,魔法藥200塊乙個,無敵藥水3...

魔獸世界「巫妖王之怒」的運營思考

作為乙個 魔獸世界 的老玩家,一直非常關心 巫妖王之怒 到底什麼時候能登陸中國市場。國服的玩家,早就已經鬱悶到以頭搶地了。雖然最近兩年幾乎沒有什麼正兒八經的時間可以上線,不過還是常常關心著這個社群的訊息。日前看到一篇新聞,九城與網易為魔獸世界而戰 大體上說的是今年6月九城與暴雪的運營合同行將到期,而...