题目:哪吒在(1,1)位置,白鼠妹妹在(m,n)位置,问哪吒有多少种方法能找到白鼠妹妹
只有一行或一列,只有一种办法
if(m == 1||n == 1) return 1;
从左到右 逐行更新
for(int i = 1;i <= m;i++){//行
for(int j = 1;j <= n;j++){//列
if(i == 1||j == 1) dp[j] = 1;
状态转移方程
dp[j] = dp[j - 1] + dp[j];
总代码
#include <iostream>
using namespace std;
int dp[1001];
int m,n;
int nezha(int m,int n){
if(m == 1||n == 1) return 1;//只有一行或一列,只有一种办法
//从左到右 逐行更新
for(int i = 1;i <= m;i++){//行
for(int j = 1;j <= n;j++){//列
if(i == 1||j == 1) dp[j] = 1;
else dp[j] = dp[j - 1] + dp[j];//状态转移方程
}
}
return dp[n];//返回结果
}
int main(){
cin >> m >> n;
cout << nezha(m,n);
return 0;
}