題目鏈結
題意:給定座標上的兩個點 n
(0 ≤
n≤ 100,000),k (0 ≤
k≤ 100,000)
,問從 n 出發每次採取三種走法之一( n-1; n + 1;n * 2 ),每一步消耗1 min。問消耗的最少時間是多少?
#pragma warning (disable:4786)
#include#includeusing namespace std;
int visited[300000]; /廣搜中標記是否已經入過隊
int n, k;
void bfs()
q.push(n);
visited[n] = 1;
while( 1 )
temp = q.front();
q.pop();
size --;
int result;
if( 2 * k >= 3 * temp )
visited[result] = 1;
q.push( result );
temp_size ++;
}} if( temp < k )
visited[result] = 1;
q.push( result );
temp_size ++;
}} if( temp > 0 )
visited[result] = 1;
q.push( result );
temp_size ++;
}} }
}int main()
BFS廣度優先搜尋 入門
廣度優先搜尋是通過對圖的完全遍歷來達到要求的點的演算法。其對圖的遍歷是如同波浪一樣,每層按照制定的方式一層一層向下搜。如 4 2 4 1 在以 為起點進行 搜尋,搜尋方式是每次只搜其上下左右的數,找其中比 最開始的 起點小的數。第一次就只會搜尋到 上 右 下 左 但是其中只有 和 滿足條件,於是會將...
演算法入門 廣度優先搜尋
1.圖 2.廣度優先搜尋 3.佇列 4.實現圖 用雜湊表來表示圖,可以自己腦補下面的關係圖 graph graph you alice bob claire graph bob anuj peggy graph alice peggy graph claire thom jonny graph an...
廣度優先搜尋 入門 抓住那頭牛
農夫知道一頭牛的位置,想要抓住它。農夫和牛都位於數軸上 農夫起始位於點n 0 n 100000 牛位於點k 0 k 100000 農夫有兩種移動方式 1 從x移動到x 1或x 1,每次移動花費一分鐘 2 從x移動到2 x,每次移動花費一分鐘 假設牛沒有意識到農夫的行動,站在原地不動。農夫最少要 花多...