範例輸入的最佳解為
A B C F G D H E -> 3
由上往下走時,所有相連的點都需要考慮,且不計算頻寬,下去後回頭看才計算(因為雙向通行,且才能知道頻寬,此節點排列在深度優先搜尋過程經過幾個邊),如果到達下一個點,回頭看上一個點出發有一個邊相連的已經拜訪過的點,所在遞迴深度減去已經拜訪過點的拜訪順序值,就可以獲得該點頻寬。
下去之後回頭看時,才考慮上一個點的有一個邊相連的已走過的點,才計算頻寬,
例如:到G後考慮F回到A(3個邊),到D後考慮G回到B(3個邊),到H後考慮D回到C(3個邊),到最後不存在的step等於8,考慮E回到D(2個邊)
想想看以下測資
A:B;B:C;C:D;D:E;E:F;F:G;G:H;H:A
A B H C G D F E -> 2
參考程式碼