POJ 3278 解題報告

2021-06-27 01:37:54 字數 665 閱讀 9644

這道題是個bfs的問題,因為要求的是乙個相鄰節點間距離都為1的graph中兩個節點間的最短距離。一開始上來用的dfs,結果可想而知。

3278

accepted

844k

63ms

g++1192b

/* 

id: thestor1

lang: c++

task: poj3278

*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

std::vectorvisited(150000, false);

int main()

else

if (cur - 1 >= 0 && !visited[cur - 1])

if (cur + 1 < 150000 && !visited[cur + 1])

if (2 * cur < 150000 && !visited[2 * cur])

}step++;

} }return 0;

}

poj3278 結題報告

這個題是乙個容易理解題意的簡單bfs題目.作為菜鳥的我竟然能自己想到解決方案.不容易.個人思路如下,農夫在每個點都有三種走法,我們先把初始位置標記為走過,三種方法位置沒走過就入隊,開始三個點都能入隊,再對三個點每次出隊乙個,分析這個點的三個位置能否走,能走得入隊,依此類推.這裡我用的訪問陣列是乘以個...

POJ 3278寫題報告BFS,DFS

需要通過數字n,獲得數字k。可以對n進行兩種操作,時間都是一分鐘,求最短用時。n 或者n n 2 採用bfs 即每一步可以向左右走一步,或者去n 2 當n k時,只執行n 時間複雜度為o n 採用dfs 對於n k,只執行n 當n k可以通過一直加1的方式得到k,或者先使n k 2,再通過n2一步使...

POJ 3278 題解 搜尋

牛 奶牛在k處不動 fj在n處去抓,最快要多長時間 某時刻fj的座標為x,fj有3種走法,每次每種走法1分鐘 往前走一步 往後走一步 傳送到2x處 time 1000 ms memory 65536 kb 搜尋 include include include include using namesp...