題目:
可憐的公主在一次次被魔王擄走一次次被騎士們救回來之後,而今,不幸的她再一次面臨生命的考驗。魔王已經發出訊息說將在t時刻吃掉公主,因為他聽信謠言說吃公主的肉也能長生不老。年邁的國王正是心急如焚,告招天下勇士來拯救公主。不過公主早已習以為常,她深信智勇的騎士lj肯定能將她救出。
現據密探所報,公主被關在乙個兩層的迷宮裡,迷宮的入口是s(0,0,0),公主的位置用p表示,時空傳輸機用#表示,牆用*表示,平地用.表示。騎士們一進入時空傳輸機就會被轉到另一層的相對位置,但如果被轉到的位置是牆的話,那騎士們就會被撞死。騎士們在一層中只能前後左右移動,每移動一格花1時刻。層間的移動只能通過時空傳輸機,且不需要任何時間。
思路:
填坑填坑了!!!!
其實這題只用乙個bfs就搞定了,在狀態點裡邊多加乙個屬性表示這個狀態在哪一層裡邊,就可以了。
**:
#include #include#define fre() freopen("in.txt","r",stdin)
using
namespace
std;
const
int maxn = 15
;int dx[4]= ;
int dy[4]= ;
int vis[2
][maxn][maxn];
char mp[2
][maxn][maxn];
intn,m,t;
struct
node
;bool isin(int x,int
y)bool
bfs()
);
while(!que.empty()));}
else
if(mp[p.lev][tx][ty]=='
#' && !vis[(p.lev+1)%2][tx][ty])//
不同層中進行傳送
); }}}
}}
return
false;}
intmain()}}
if(bfs())
cout
<<"
yes\n";
else
cout
<<"
no\n";
}return0;
}
HDU 2102 A計畫 雙層BFS
problem description 可憐的公主在一次次被魔王擄走一次次被騎士們救回來之後,而今,不幸的她再一次面臨生命的考驗。魔王已經發出訊息說將在t時刻吃掉公主,因為他聽信謠言說吃公主的肉也能長生不老。年邁的國王正是心急如焚,告招天下勇士來拯救公主。不過公主早已習以為常,她深信智勇的騎士lj肯...
ACM 搜尋 hdu 2102 A計畫
problem description 可憐的公主在一次次被魔王擄走一次次被騎士們救回來之後,而今,不幸的她再一次面臨生命的考驗。魔王已經發出訊息說將在t時刻吃掉公主,因為他聽信謠言說吃公主的肉也能長生不老。年邁的國王正是心急如焚,告招天下勇士來拯救公主。不過公主早已習以為常,她深信智勇的騎士lj肯...
HDU 2102 A計畫 三維的迷宮BFS
題意 三維的乙個迷宮,起點在第一層的s 0,0,0 處,問是否能在規定的時間內走到第二層的p 處。代表不能走,代表能夠走,代表傳送門,這裡有乙個trick,走到傳送門的時 候必需要傳送。之前沒有注意到wa了非常多遍。並且在初始的時候能夠對地圖進行一下處理,這種肯定 是不能夠走的,所以能夠把他們都變成...