poj 3669題目解答:bessie被流星雨襲擊,給出m顆流星,每個流星都有墜落的橫縱座標,以及墜落的時間。每個流星墜落後,該格仔連同上、下、左、右四個格仔都不能走了。bessie從(0,0)出發,每次只能向上、下、左、右移動一格,求達到安全位置的最小移動次數,不能則輸出-1。
思路:地圖的大小沒有上限,隕石的座標範圍只到300,所以無解的情況只有兩種:1、通往安全區域的路線被掉下的流星阻擋。2、(0,0)位置在0時刻被流星砸中,這個情況要注意一下。
預處理流星過後的地圖,標記出安全點,毀掉的區域記錄最早被砸毀的時間,這個時間以後該點就不能走了。之後bfs的時候增加乙個變數記錄時間就行了。
因為搜尋範圍判斷只寫到300wa了一發
#include
#include
#include
#include
#include
#include
using namespace std;
#define inf 0x3f3f3f3f
typedef long long ll;
typedef pair p;
#define n 350
int d[2][4]=;
int g[n][n],step[n][n];
int main()}}
int ans=-1;
if(g[0][0])
for(int i=0;i<4;++i)}}
}printf("%d\n",ans);
}
poj3669解題報告(詳細)
卡在2星期前,今天終於搞掂了。先說下題目大意吧。流星雨來襲擊我們的女主牛了,bessie。為了找乙個安全地方,她開始逃了。地圖相當於平面座標系第一象限,bessie一開始在原點。然後,每顆流星都會在某個時刻砸下來,砸到的地方連同上下左右都會被毀滅,此時這些地方bessie就不能通過了,她只能走其它地...
POJ 3669廣度優先搜尋
這是一道典型的廣度優先搜尋bfs題目。首先宣告一下,我在這裡借鑑了別人的想法 這是原文答案,題目大意 流星雨即將攻擊地球,當然數目是有限的,共n個,攻擊到某個點時將會使該點及其上下左右四個點都被摧毀。乙個女的,不想被擊中啊,就跑啊。她要在地球上找到乙個地方讓她能夠度過災難。把整個地圖看作一張二維表,...
poj3669 流星雨啊
poj3669這道題我看了好像兩三天的樣子 迷之tle,迷之mle,迷之wa 後來發現,問題有點兒多.一共三個問題,一是讀入流星的時候,沒有考慮前面流星對後面流星的影響.二是 小主人公可以跑到300 300的格仔外面.三是 走路的時候,忘了判斷路是否已經走過 include include incl...