求解(ㄒoㄒ)
应该算**矩阵路径数问题**,代码如下
#include<iostream>
using namespace std;
long long m, n, ans;
int dp[100][100];
long long solve(int m, int n) {
if (m == 1 || n == 1)
return 1;
else if (dp[m][n] > 0) {
cout << m << " " << n << " " << dp[m][n] << endl;//在这里输出查看
return dp[m][n];
}
//else if (dp[n][m] > 0)
// return dp[n][m];
else dp[m][n] = solve(m - 1, n) + solve(m, n - 1); //只能从上或左来,等于到左边格子的路径数加到右边格子的路径数
}
int main() {
cin >> m >> n;
for (int i = 0; i < 100; i++) { //初始化
for (int j = 0; j < 100; j++) {
dp[i][j] = -1;
}
}
ans = solve(m, n);
cout << ans << endl;
return 0;
}
同样的代码在vs中可以输出正确结果,在dev中却错误
这是输入10 10 在dev中的输出结果
正确运行结果应该是48620