C++ Solution Beats 100%
Code
# Code
```cpp []
class Solution {
public:
    string kthSmallestPath(vector<int>& destination, int k) {
        int h = destination[1],
            v = destination[0],
            n = h + v;

        vector<vector<int>> choose(n + 1);
        for(int i = 0; i <= n; ++i)
            choose[i] = vector<int>(i + 1),
            choose[i][0] = choose[i][i] = 1;
        
        for(int i = 2; i <= n; ++i)
            for(int j = 1; j < i; ++j)
                choose[i][j] = choose[i - 1][j] + choose[i - 1][j - 1];
        
        string ans(n, 'H');
        while(v) {
            int p = v - 1;
            while(k > choose[p][v - 1])
                k -= choose[p++][v - 1];

            ans[n - p - 1] = 'V';
            --v;
        }

        return ans;
    }
};
```
['C++']