題目鏈結:
題目大意:走迷宮。對於障礙點,只有當前(dep+1)%k才能走,問最少時間。
解題思路:
只有乙個關鍵:
每個點不是只可以走一次。最多可以走k次。
原因是對於乙個點,可能是通過障礙點在k的倍數(即餘數為0)步到達的,也可能是通過其它途徑到達的,但是不是k的倍數(餘數為1~k)。
這樣,判斷狀態是否重疊的依據就是看在(x,y)點的餘數狀態了。vis的第三維非常重要。
#include "cstdio
"#include
"string
"#include
"cstring
"#include
"iostream
"#include
"queue
"using
namespace
std;
int n,m,k,sx,sy,ex,ey,t,vis[105][105][15],dir[4][2]=;
char map[105][105
];struct
status
};int bfs(int x,int
y) }
else}}
return -1;}
intmain()
if(tt[j]=='
g') }}
int ans=bfs(sx,sy);
if(ans==-1) cout<<"
please give me another chance!
"
}
11899492
2014-10-18 10:10:31
accepted
2579
0ms964k
1734b
c++physcal
hdu 2579 第二次與女孩的約會
我去.這題 真無語了 忘記清空佇列了.當然 你要是將佇列宣告在函式中 就沒這個煩惱了 每次呼叫相當於清空了 而我 是將它宣告為全域性變數的.臥槽了 坑死了 這題 拋開這個不講 女孩子還是很有心思的.要用三維vis陣列 第三位表示的狀態是移動到那一步 k所餘的時間 因為題目條件的特殊性 石頭在time...
hdu3779 記憶化搜尋
兩列火車入站,重新排列的車廂符不符合要求 記憶化搜尋,ans i j 記錄的是第一列火車的第i節和第二列火車的第j列在組合後的序列裡找不找的到 如果找的到就標記為1,因為是從前到後搜尋,所以在ans n m 1時,表示符合 include include includeusing namespace...
hdu2452 記憶化搜尋
一顆樹,邊是單向的,每個節點有一定的權值,要你從根節點走到葉子節點,走到第偶數節點時,使後面的權值和最小 走到第奇數節點時,使後面的權值和最大 邊鍊錶儲存,並查集查詢根節點 用val i 0 表示第i個節點是偶數節點的值和val i 1 表示第i個節點是奇數節點的值 遞迴的計算,因為節點很多,所以要...