我代码本来是fail 添加了两行取模的代码后就报内部错误了。不清楚内部错误是什么意思
求大佬解答(落泪
题目:https://www.lanqiao.cn/problems/150/learning/
内部错误代码:
#include <iostream>
#include <cstring>
using namespace std;
typedef long long ll;
const ll mx=1000+10;
const ll mod=10000;
ll n;
ll f[mx][mx];//前一项为i 绝对值为j f[i][j]
ll ans;
ll dfs(ll bef, ll jdz){
if(f[bef][jdz]!=-1) return f[bef][jdz];
f[bef][jdz]=1;
for(ll i=1;i<=jdz-1;i++){
f[bef][jdz]+=dfs(i, abs(bef-i));
f[bef][jdz]=f[bef][jdz]%mod;
}
return f[bef][jdz];
}
void solve(){
ans=0;
cin>>n;
memset(f, -1, sizeof(f));
for(int i=1;i<=n;i++){
f[i][0]=1;
f[i][1]=1;
}
for(int i=1;i<=n;i++){
ans+=dfs(i, n-i);
ans=ans%mod;
}
cout<<ans<<endl;
}
int main(){
//FILE *fp=freopen("1", "r", stdin);
solve();
// fclose(fp);
return 0;
}