class Solution {
public:
    /**
   dp[i][j] = dp[i-1][j]+dp[i][j-1]
   i,j到0,0的路径数
   dp[0][0],dp[1][0],dp[2][0]...dp[1][0]dp[2][0]...都为1
     */
    int uniquePaths(int m, int n) {
        vector<vector<int>> dp(m,vector<int>(n,0));
        for(int i = 0;i < m; i++){
            dp[i][0] = 1;
        }
        for(int i = 0;i < n; i++){
            dp[0][i] = 1;
        }
        for(int i =1;i < m; i++){
            for(int j = 1;j < n;j++){
                dp[i][j] = dp[i-1][j]+dp[i][j-1];
            }
        }
        return dp[m-1][n-1];
    }
};