這個題,需要處理的細節太多了
框架5,6分鐘就寫好了,然後開始各種報錯
處理細節大概花了3個小時
#include
#include
#include
#include
using namespace std;
struct node
;queueq;
int f[4][2]=;
int map[9][9]=
;int bfs(int x1,int y1,int x2,int y2)
/*這個if 不能直接在if裡邊直接return q.step
因為,如果終點是『1』,就會無法輸出*/
q.pop();
for(int i=0;i<4;i++)
;q.push(e);
a[x][y]=1;}}
}if(q.empty())
return -1;
/*這個if就是用來處理 剛剛那個if所不能處理的情況*/
while(!q.empty())
q.pop();
/*清空佇列,為下次的呼叫
我第一次就是沒有清空,導致下一次的輸出比實際大*/
return q.step;
}int main()
return 0;
}
NYOJ 58最少步數,廣搜思想!
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 link 這個題深搜廣搜都是可以的,迷宮已經給出了,就看怎麼做了 一般起點終點確定用廣搜求最短路徑問題 廣搜就用到佇列了,將起點周圍的可行的點都加入佇列,在從佇列中選取點又重複剛才的操作,直到找到終點 可以用二維陣列存起點到此點的最短...
nyoj 1022 最少步數 優先佇列 廣搜
時間限制 3000 ms 記憶體限制 65535 kb 難度 4 描述這有乙個迷宮,有0 8行和0 8列 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1...
最少轉機(廣搜)
題意 小哼和小哈一起坐飛機旅遊,他們現在位於1號城市,目標是5號城市,可是1號城市沒有到5號城市直航,不過他們收集了很多航班資訊,現在他們要找出轉機次數最少的方案。樣例 5 7 1 5 1 21 3 2 32 4 3 43 5 4 5第一行的5表示有5個城市 編號為1 5 7表示有7條航線,1表示起...