链接:
链接
题目:
给定一个 n×mn×m 的方格阵,沿着方格的边线走,从左上角 (0,0)(0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m)(n,m) 一共有多少种不同的走法。
输入格式
共一行,包含两个整数 nn 和 mm。
输出格式
共一行,包含一个整数,表示走法数量。
数据范围
1≤n,m≤101≤n,m≤10
输入样例:
2 3
输出样例:
10
思路:
只能向下或者向右移动,审题要细心,然后就是递归,从(0,0)开始,如果这个坐标等于给定的坐标,就把计数器加一,如果x<n,就把点向下面移动一个单位格(反正就是增加一个单位距离,怎么增加都行,取决于你怎么定义的横纵坐标),如果y<m就向右移动一个单位的距离。不断递归就可以了
代码:
#include<iostream> using namespace std; int n,m; int ans; void f(int x,int y) { if(x==n&&y==m) { ans++; } else { if(x<n) f(x+1,y); if(y<m) f(x,y+1); } } int main() { cin>>n>>m; f(0,0); cout<<ans; return 0; }