題目鏈結 nightmare
炸彈**的限時是6s,一步減掉1s,在'4'方塊上炸彈**時間重置為6s
但是走到'4'和終點時的剩餘時間必須大於0
最短路徑:bfs
注意每點可以重複走過,必須剪枝,否則就停不下來了
如果第二次走過『1』時,bomb的剩餘時間比之前更短,那就不用走了,不值得
第二次走過'4'時,雖然bomb可以重置為6,但是step肯定變大了,所以也不用走
#include #include #include #include using namespace std;
struct node
;int n,m;
int sx,sy,ex,ey;
int g[10][10];
bool vis[10][10];
int bomb[10][10];
int dx=;
int dy=;
bool check(int x,int y)
int bfs()
}else if(g[next.x][next.y]==4)
}else if(g[next.x][next.y]==3)return next.step;}}
}}
return -1;
}int main()
{ //freopen("in.txt","r",stdin);
int t;
scanf("%d",&t);
while(t--){
scanf("%d%d",&n,&m);
for(int i=0;i
HDU 1072 bfs或者帶剪枝的記憶化dfs
本題目由於普通的個子可以重複走 在樣例三中可以看出 所以不能通過標記位限制只能走一次,但是需要進行一定的限制防止無限的迴圈。實際上,為4的格仔只需要走一次,重複走只會使得步數變的更多,並不會增加到達目標位置的能力,因此,在bfs中,只需要限制重置點只能走一次即可。其他格仔,除了起點以外,都可以重複走...
HDU 1753 大明A B(仔細一點耐心一點)
話說,經過了漫長的乙個多月,小明已經成長了許多,所以他改了乙個名字叫 大明 這時他已經不是那個只會做100以內加法的那個 小明 了,現在他甚至會任意長度的正小數的加法。現在,給你兩個正的小數a和b,你的任務是代表大明計算出a b的值。本題目包含多組測試資料,請處理到檔案結束。每一組測試資料在一行裡面...
工廠車間的「隱患」,每一點都需要注意!
工廠車間的 隱患 每一點都需要注意!一 起重機 起重機械的話想必各位模具師傅都是接觸過的,正是因為它很常見,所以我們在日常工作中更加要注意規範使用,如果使用不當的話很可能會造成墜物傷害事故。使用起重機一定要遵守 十不吊 規定,要定時檢查鋼絲繩和吊索,如果有裂紋 磨損一定要及時更換。二 叉車 一定要記...