潛入珠光寶氣閣(潛入辛迪加) BFS

2022-02-04 06:01:09 字數 2254 閱讀 6740

「我們最新的研究成果《毒藥研究方案》被可惡的辛迪加偷走了!」作為拉文霍德的一員,你一定感到很震驚,因為它是我們最尖端的科研人員的一年的研究成果。被辛迪加獲得,我們可能會有滅頂之災。

狡猾的辛迪加為了躲避我們的追殺,他們並沒有把《毒藥研究方 案》帶回激流堡,而是把它藏了起來。但是終究是我們技高一籌,運用侏儒的最新研究成果「靜電放射探測器」,我們已經發現了他們的藏身之地。原來他們早就在 奧特蘭克山脈的地下修建了乙個巨大的城市,現在,他們就把《毒藥研究方案》放在了城市的最深處。更好的訊息是,我們已經發現了地下城的入口。

作為一名出色的盜賊,你要學會以彼之道,還施彼身——把《毒藥研究方案》偷回來。然而辛迪加布置了嚴密的防禦,更糟糕的是,他們從地精購買了電磁監視器。無論你的潛行技巧有多麼高明,只要一接近它,就會出發警報。只有破壞它的供電系統,才能電磁監視器悄無聲息得失效。

現在,「靜電放射探測器」已經為我們生成了一張地圖,它可以告訴你整個地下城的布局結構,包括每乙個電磁監視器的位置,及其供電裝置的位置。辛迪加的地下城可以被描述為乙個n*n的**,城市的入口在(1,1)處,目標《毒藥研究方案》在(n,n)處。每個單元格可能是一片空地、乙個障礙物、乙個辛迪加衛士、乙個電磁監視器、或者乙個的供電裝置。

從入口處開始,每步你只能上、下、左、右移動到相鄰的乙個單元 格,不可以停留在原地。你只能進入空地,或者失去供電系統的電磁監視器的位置,或者摧毀供電裝置。你不能移動到障礙物上,也不能進入辛迪加衛士的視線中。 辛迪加衛士可以監視自己所在單元格以及上下左右共五格的位置,而且他們的視線可以重疊。你不能殺死辛迪加衛士,也不能被他們發現。每個電磁監視器的供電裝 置可能存在,也可能無法破壞或者根本不存在。乙個供電裝置也可能會對應零個、乙個或多個電磁監視器,意味著摧毀它,對應的所有電磁監視器都會失效。(1,1)和(n,n)一定是可以通行的。

拉文霍德要求你在執行任務之前首先給出乙個計畫書,即要求算出至少一共需要多少步,才能拿到我們的《毒藥研究方案》。

第1行,兩個整數n, m。表示地圖大小為n * n,供電裝置的數量為m。

第2-n+1行,每行n個整數,每個整數i可能是0,-1,-2或者乙個正整數。i=0表示該位置為一塊空地,i=-1表示該位置為乙個障礙物,i=-2表示該位置為乙個辛迪加衛士。如果i是乙個屬於[1,m]的正整數,則表示該位置為乙個供電裝置,其編號為i。如果i是乙個大於m的正整數,則表示該位置為乙個電磁監視器,它的電力由編號為i-m的供電裝置提供。

乙個整數,為拿到《毒藥研究方案》所需的最少的步數。如果不能到達輸出-1.

6 20 0 0 -2 -1 2

-1 0 0 0 -1 0

-2 0 0 0 3 3

-2 0 0 -1 -1 4

0 -1 0 0 -1 0

1 0 0 0 -1 0

樣例說明

地圖如下圖,s為入口,t為目標,黑色的單元格為障礙物。每個e表示乙個衛兵,(e)為衛兵的監視範圍。k1表示供電裝置1,k2表示供電裝置2。d1表示供電裝置為1的電磁監視器,d2表示供電裝置為2的電磁監視器。

最優的路線為(1,1) →(1,2) →(2,2) →(2,3) →(3,3) →(4,3) →(5,3) →(6,3) →(6,2) →(6,1)(破壞供電1) →(6,2) →(6,3) →(5,3) →(4,3) →(3,3) →(3,4) →(3,5) →(3,6) →(2,6) →(1,6)(破壞供電2) →(2,6) →(3,6) →(4.6) →(5,6) →(6,6)

資料規模

這道題目的空間限制是512mb

對於15%資料

m=0對於40%資料

m<=2

對於100%資料

2<=n<=50

0<=m<=16

#include #include #include #include using namespace std;

int n,m,a[53][53],fx[4][2]=,,,};

bool vis[53][53][65555];

struct node;

queueq;

int main()

q.push((node)); vis[1][1][0]=1;

while(!q.empty())

); }

else if(!a[x][y]) q.push((node));

else);}

}if(x==n&&y==n)

} }puts("-1");

return 0;

}

隨風潛入夜,潤物細無聲

前兩天,在與公尺老師交流的時候,提了這麼個問題,原話大概是這樣的 感覺有點過分依賴網際網路了,所有知識都在網上,真正進腦子的沒有多少,只是記住了個位址而已,要是沒網了怎麼辦?通過與公尺老師的談話,引發了以下思考 如何看待這個問題?先從第乙個方面來說 先不說腦子裡是不是真的什麼也沒有,知識都在網上,沒...

隨風潛入夜,潤物細無聲

前兩天,在與公尺老師交流的時候,提了這麼個問題,原話大概是這樣的 感覺有點過分依賴網際網路了,所有知識都在網上,真正進腦子的沒有多少,只是記住了個位址而已,要是沒網了怎麼辦?通過與公尺老師的談話,引發了以下思考 如何看待這個問題?先從第乙個方面來說 先不說腦子裡是不是真的什麼也沒有,知識都在網上,沒...

隨風潛入夜,潤物細無聲

前兩天,在與公尺老師交流的時候,提了這麼個問題,原話大概是這樣的 感覺有點過分依賴網際網路了,所有知識都在網上,真正進腦子的沒有多少,只是記住了個位址而已,要是沒網了怎麼辦?通過與公尺老師的談話,引發了以下思考 如何看待這個問題?先從第乙個方面來說 先不說腦子裡是不是真的什麼也沒有,知識都在網上,沒...