代码如下,对于较大的输入总是输出197(但是AC了)是什么原因?
#include <bits/stdc++.h>
using namespace std;
long long a,b,ac[1000][1000];
long long ackermann(long long m,long long n){
if(ac[m][n]!=0)return ac[m][n];
if(m==0){
ac[m][n]=n+1;
return ac[m][n];
}
else if(m>0&&n==0){
ac[m][n]=ackermann(m-1,1);
return ac[m][n];
}
else {
ac[m][n]=ackermann(m-1,ackermann(m,n-1));
return ac[m][n];
}
}
int main(){
cin>>a>>b;
cout<<ackermann(a,b);
return 0;
}