问题

1. 向右 -> 向右 -> 向下
2. 向右 -> 向下 -> 向右
3. 向下 -> 向右 -> 向右

A robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below).

The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked ‘Finish’ in the diagram below).

How many possible unique paths are there?

Above is a 7 x 3 grid. How many possible unique paths are there?

Note: m and n will be at most 100.

Input: m = 3, n = 2

Output: 3

Explanation:

From the top-left corner,there are a total of 3 ways to reach the bottom-right corner:

1. Right -> Right -> Down
2. Right -> Down -> Right
3. Down -> Right -> Right

Input: m = 7, n = 3

Output: 28

示例

```public class Program {

public static void Main(string[] args) {
var m = 7;
var n = 3;

var res = UniquePaths(m, n);
Console.WriteLine(res);

}

private static int UniquePaths(int m, int n) {
if(m == 0 || n == 0) return 0;
var dp = new int[m, n];
for(var i = 0; i < m; i++) {
for(var j = 0; j < n; j++) {
dp[i, j] = 1;
}
}
for(var i = 1; i < m; i++) {
for(var j = 1; j < n; j++) {
dp[i, j] = dp[i, j - 1] + dp[i - 1, j];
}
}
return dp[m - 1, n - 1];
}

}
```

```28
```

(2)