87: Unique binary search trees

Дано число n посчитайте сколько уникальных деревьев бинарного поиска можно построить на числах от 1 до n

 

Пример

Input:  3

Output: 5

Пояснение: можно построить 5 уникальных деревьев двоичного поиска

   1       1          2          3      3
    \       \        / \        /      /
     3       2      1   3      2      1
    /         \               /        \
   2           3             1          2
Difficulty:Medium
Topic:Dynamic programming
Problem #:87