// Source : https://oj.leetcode.com/problems/unique-paths/ // Author : Hao Chen // Date : 2014-06-25 /********************************************************************************** * * 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). * * * start   * +---------+----+----+----+----+----+ * |----| | | | | | | * |----| | | | | | | * +----------------------------------+ * | | | | | | | | * | | | | | | | | * +----------------------------------+ * | | | | | | |----| * | | | | | | |----| * +----+----+----+----+----+---------+ * finish * * * How many possible unique paths are there? * * Above is a 3 x 7 grid. How many possible unique paths are there? * * Note: m and n will be at most 100. * **********************************************************************************/ #ifdef CSTYLE #include #include void printMatrix(int*a, int m, int n) { for (int i=0; i using namespace std; // using C++ STL vector , the code is much easy to read int uniquePaths(int m, int n) { vector< vector > dp (n, vector(m, 1)); for (int row=1; row2){ m = atoi(argv[1]); n = atoi(argv[2]); } printf("uniquePaths=%d\n", uniquePaths(m,n)); return 0; }