最少步數,廣搜

2022-08-10 16:45:13 字數 673 閱讀 7540

這個題,需要處理的細節太多了

框架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表示起...