UVa10410 Tree Reconstruction

UVa線上解題:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1351

vjudge線上解題:https://vjudge.net/problem/UVA-10410


輸入範例1

8

4 3 5 1 2 8 7 6

4 3 1 7 2 6 5 8

輸出範例1

1: 7

2: 6

3: 1 2

4: 3 5

5: 8

6:

7:

8:

解題策略

DFS走訪的相鄰兩個元素,有可能為上下層關係,再利用BFS走訪順序確定

使用stack放入DFS走訪順序的所有元素,記錄由上到下的順序,如果不是上下層,就刪除,直到可以確定輸入元素的上一層的元素為止