搜尋之吝嗇的國度

2021-07-03 19:27:06 字數 760 閱讀 7153

#include

#include

#include

using namespace std; 

vectorv[100005];

int pre[100005];

void dfs(int start)

1的後續節點:9 8 2

2的後續節點:1

3的後續節點:10 7

4的後續節點:10

5的後續節點:9

6的後續節點:8

7的後續節點:3

8的後續節點:1 10 6

9的後續節點:1 5

*/for(int i = 0; i < v[start].size(); ++i)

/*dfs(1)當i=1時v[1][0]= 9,pre[9]=0,不執行continue,pre[9]=1

dfs(9) v[9][0]=1,pre[1]=-1,執行 continue,

start =9 ,++i ,v[9][1]=5 pre[5]=0,pre[5]=9

dfs(5) v[5][0]=9,pre[9]=1,執行continue 

遞迴回退到v[1][1]=8,做遞迴時每個函式頭就好像進口,每乙個函式執行完之後

要回到出口。*/}

int main()

pre[start]=-1;

dfs(start);

for(i=1;i<=n;++i)

cout<

}return 0;

}        

搜尋 吝嗇的國度

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 在乙個吝嗇的國度裡有n個城市,這n個城市間只有n 1條路把這個n個城市連線起來。現在,tom在第s號城市,他有張該國地圖,他想知道如果自己要去參觀第t號城市,必須經過的前乙個城市是幾號城市 假設你不走重複的路 輸入第一行輸入乙個...

吝嗇的國度

描述 在乙個吝嗇的國度裡有n個城市,這n個城市間只有n 1條路把這個n個城市連線起來。現在,tom在第s號城市,他有張該國地圖,他想知道如果自己要去參觀第t號城市,必須經過的前乙個城市是幾號城市 假設你不走重複的路 輸入 第一行輸入乙個整數m表示測試資料共有m 1 m 5 組 每組測試資料的第一行輸...

吝嗇的國度

描述 在乙個吝嗇的國度裡有n個城市,這n個城市間只有n 1條路把這個n個城市連線起來。現在,tom在第s號城市,他有張該國地圖,他想知道如果自己要去參觀第t號城市,必須經過的前乙個城市是幾號城市 假設你不走重複的路 輸入 第一行輸入乙個整數m表示測試資料共有m 1 m 5 組 每組測試資料的第一行輸...