题目:有一个m行n列的方阵,用坐标表示,行坐标从下到上增加,列坐标从左到右增加,左下角坐标为(1,1)右上角坐标为(m,n)求从左下角到右上角有多少种走法,只能向上走或者向右走。
解题思路:每一个坐标的走法的种数为左边的那个坐标和下面的的那个坐标方案数的总和递推方程即是 a[i][j]=a[i-1][j]+a[i][j-1]。
细节处理:把 a[0][1]=1初始化为1,。
代码:#include<bits/stdc++.h>
using namespace std;
int n,m,a[25][25];
int main(){
cin>>n>>m;
a[0][1]=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
a[i][j]=a[i-1][j]+a[i][j-1];
}
}
cout<<a[n][m]<<endl;
return 0;
}
感想:水题。