算法1
C++ 代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include<string>
#include<algorithm>
using namespace std;
int walk(int m, int n)
{
if((m==0)||(n==0))
{
return 1;
}
else if (m > 0 && n > 0)
{
return walk(m - 1, n) + walk(m, n - 1);
}
}
int main()
{
int m, n,x;
cin >> m >> n;
x = walk(m, n);
cout << x << endl;
}
2023/11/23
开始复习
动态规划解决了
#include <iostream>
using namespace std;
const int N = 12;
int n,m;
// f[i][j]: 走到第i,j有多少种走法
int f[N][N];
int main()
{
cin>>n>>m;
f[0][0] = 1;
for(int i=0;i<=n;i++)
{
for(int j=0;j<=m;j++)
{
if(i-1 >=0)
{
f[i][j] += f[i-1][j];
}
if(j-1 >= 0)
{
f[i][j] +=f[i][j-1];
}
}
}
cout<<f[n][m];
return 0;
}