有一个m行n列的棋盘,从左上角走到右下角,每次只能向右或向下走一步,计算有多少种不重复的路线。
const int M_MAX = 100;
const int N_MAX = 100;
int fun(int m, int n)
{
int buf[M_MAX+2][N_MAX+2] = {0};
buf[m][n+1] = 1;
for (int i = m; i >= 1; i--)
{
for (int j = n; j >= 1; j--)
{
buf[i][j] = buf[i+1][j] + buf[i][j+1];
}
}
return buf[1][1];
}