题目内容:一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房M开始爬到蜂房N,共有多少种不同的路径?
输入:第一行M,第二行N
输出:路径条数
样例输入:1 14
样例输出:377
保证M<N,且M,N<=1000
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,i,j; //我把M,N弄反了,应该不要紧
cin>>n>>m;
n=m-n+1;
int f[1001][10001]={},len[1001]={};
f[0][0]=1;
f[1][0]=1;
len[0]=1;
len[1]=1;
for(i=2;i<n;i++){
int len1=len[i-1],len2=len[i-2];
int len3=max(len1,len2);
for(j=0;j<len3;j++){
f[i][j]=f[i-1][j]+f[i-2][j];
}
if(f[i][len3-1]>=10){
len[i]=len[i-1]+1;
}else{
len[i]=len[i-1];
}
for(j=0;j<len3;j++){
f[i][j+1]+=f[i][j]/10%10;
f[i][j]%=10;
}
}
int k=len[n-1];
for(i=k-1;i>=0;i--){
cout<<f[n][i];
}
return 0;
}
main函数什么都没做,就给我返回了3221225725;
请问如何修改啊?