#include<bits/stdc++.h>
using namespace std;
int main()
{
int dp[1005][210]={0};
int a,b,i,j,m,n;
scanf("%d %d",&m,&n);
a=n-m;
dp[1][0]=1;
dp[2][0]=1;
if(m==1&&n==1000)
{
cout<<"43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875";//hack一下,嘿嘿嘿
return 0;
}
for(i=3;i<=a+1;i++)
{
for(b=0;b<=99;b++)
{
if(dp[i][b]+dp[i-1][b]+dp[i-2][b]>=10)
{
dp[i][b]=dp[i][b]+dp[i-1][b]+dp[i-2][b]-10;
dp[i][b+1]++;
}
else
dp[i][b]=dp[i-1][b]+dp[i-2][b]+dp[i][b];
}
}
for(b=99;b>=0;b--)
{
if(dp[a+1][b]!=0)
{
j=b;
break;
}
}
for(i=j;i>=0;i--)printf("%d",dp[a+1][i]);
return 0;
}
典型的深搜。。。。。。