洛谷P1135 搜尋

2021-10-06 02:57:12 字數 1177 閱讀 5519

乙個水題,不過我dfs還是不太行,wa了兩次

這題可以用dfs和bfs寫,另外也可以建圖跑最短路。下面放雙搜**:

bfs:

int a[

210]

;int a, b;

bool vis[

210]

;int n;

int ff =-1

;struct node

;queue q;

void

bfs()if

(temp.now + a[temp.now]

<= n && vis[temp.now + a[temp.now]]==

0)q.

push

(node);

if(temp.now - a[temp.now]

>=

1&& vis[temp.now - a[temp.now]]==

0)q.

push

(node);

}}intmain()

);bfs();

cout << ff << endl;

return0;

}

dfs

int a[

210]

;int a, b;

bool vis[

210]

;int n;

int ff = inf;

void

dfs(

int now,

int ans)

int x = now + a[now]

;int y = now - a[now];if

(x <= n &&

!vis[x]

)dfs

(x, ans +1)

;if(y >=1&&

!vis[y]

)dfs

(y, ans +1)

; vis[now]=0

;}intmain()

洛谷p1135 奇怪的電梯

題目描述 呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第i層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3 3 1 2 5代表了ki k1...

洛谷P1135 奇怪的電梯

呵呵,有一天我做了乙個夢,夢見了一種很奇怪的電梯。大樓的每一層樓都可以停電梯,而且第iii層樓 1 i n 上有乙個數字ki 0 ki n 電梯只有四個按鈕 開,關,上,下。上下的層數等於當前樓層上的那個數字。當然,如果不能滿足要求,相應的按鈕就會失靈。例如 3,3,1,2,5代表了ki k1 3,...

洛谷 奇怪的電梯(P1135)

奇怪的電梯 問題分析 根據問題描述,所處在的樓層,上或下的層數由給定數值確定。但是超出範圍則不予響應。舉個例子,如下表所示。樓層號123 456指定數值33 1251 觀察例子發現,每一層到達的樓層是確定的,如果將樓層模擬成頂點,相互間存在到達關係的表示有通路,因此可以將上述問題求解過程,轉變為求頂...