演算法設計例題 用DFS計算pre和post

2021-10-10 14:45:22 字數 1021 閱讀 8000

第一行給出這個圖的頂點數n ( 1 ≤ n ≤ 1000 )

第二行給出這個有向圖的邊數 e ( 0 ≤ e ≤ 100000 )

第三行開始,共e行,每行兩個正整數 a b,表示從頂點a發出一條弧到頂點b。

輸出兩行,

第一行:1號頂點的pre值,2號頂點的pre值,…,n號頂點的pre值。每個值後面跟乙個空格。

第二行:1號頂點的post值,2號頂點的post值,…,n號頂點的post值。每個值後面跟乙個空格。811

1 22 3

3 44 1

5 66 7

7 88 5

4 25 7

2 51 2 3 4 7 8 9 10

16 15 6 5 14 13 12 11

sample的圖如下:

///離亭晚2020.11.17.17.47.45

#include

.h>

using namespace std;

int n,t=1;

int g

[1002][

1002];

int v[

1002

],pre[

1002

],post[

1002];

void

dfs(int sta)

int main()

dfs(1)

;for

(int i=

1;i<=n;i++

) cout<

<<

" ";

cout<

for(int i=

1;i<=n;i++

) cout<

<<

" ";

}

end

計算機鼓輪設計(DFS)

四個觸頭a b c d將獲得一定的資訊。因此,鼓輪的位置可用二進位制訊號表示。試問如何選取鼓輪16個部分的材料才能使鼓輪每轉過乙個部分得到乙個不同的二進位制訊號,即每轉一周,能得到0000到1111的16個數。列印節點順序 101 102103 intmain 104111 node num pow...

演算法設計與分析 遞推演算法及例題

遞推演算法 演算法特點是 乙個問題的求解需一系列的計算,在已知條件和所求問題之間總存在著某種相互聯絡的關係,在計算時,如果可以找到前後過程之間的數量關係 即遞推式 那麼,從問題出發逐步推到已知條件,此種方法叫逆推。數字三角形 如上圖所示為乙個數字三角形。請編乙個程式計算從頂到底的某處的一條路徑,使該...

dfs的乙個小實現(啊哈演算法的例題)

給定n個盒子,將n個小球放進這些盒子裡,判斷都有多少種情況 寫深度優先搜尋最重要的是理解當前步怎麼做,下一步就當系統已經幫你實現好了 因為只要寫好當前步,下一步解決方法和當前步是一樣的 include include include include include include using nam...