ロボットはm x nメッシュの左上隅(下図では「スタート」と表記)にあり、ロボットはいつでも下または右に移動できます.


本題はleetcode 62に由来する
考え方:ダイナミックプランニング
1下または右にしか歩けません.したがって、i=0またはj=0の場合は1に等しい
2 dp[i] [j] = dp[i-1][j] + dp[i][j-1];
コード:
int uniquePaths(int m, int n) {
        vector> dp(m,vector(n,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];
    }

コード2;
int uniquePaths(int m, int n) {
        int total = m + n -2; //       
        int down = m - 1;  //       
        double res = 1;
        for(int i = 1 ; i <= down; i++){
            res =res * (total - down + i) / i;
        }
        return (int)res;
    }