#include #include #include int uniquePaths(int m, int n) { int i, j; int *matrix = malloc(sizeof(int) * m * n); if(m <= 1 || n <= 1) return 1; for(i = 0; i < m; i++) { for(j = 0; j < n; j++) { *(matrix + i * n + j) = 1; } } for(i = 1; i < m; i++) { for(j = 1; j < n; j++) { *(matrix + i * n + j) = *(matrix + i * n + j-1) + *(matrix + (i - 1) * n + j); } } return *(matrix + m * n - 1); } int main() { printf("%d\n", uniquePaths(3, 7)); }