UVa1264 - Binary Search Tree

出處:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3705

解題想法:建立Binary Search Tree並計算左右子樹個數,計算組合數,使用DFS計算結果。

測資如下。

5

2 1 4 3 5

2為root,1可以放入4 3 5的任何一個位置 相當於C(1+3,1) C(左側小孩個數+右側小孩個數,左側小孩個數)

1為root,左右都是NULL,相當於C(0,0)

2

1 4 3 5

4為root,左邊為3 右邊是5,左右可以互換 相當於C(1+1,1) C(左側小孩個數+右側小孩個數,左側小孩個數)

2

1 4

3 5

完整程式碼