一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 mm 开始爬到蜂房 nn,m<nm<n,有多少种爬行路线?(备注:题面有误,右上角应为 n-1n−1)
输入格式
输入 m,nm,n 的值
输出格式
爬行有多少种路线
#include<bits/stdc++.h>
using namespace std;
int a[2000]={1},len=1,b[2000]={1},c[2000]={1};
void f()
{int jw=0;
for(int i=0;i<len;i++)
{
c[i]=a[i]+b[i]+jw;
jw=c[i]/10;
c[i]%=10;
}
if(jw!=0)
c[len]=jw,len++;
for(int i=0;i<len;i++)
a[i]=b[i],b[i]=c[i];
}
int main()
{
int m,n;
cin>>n>>m;
for(int i=3;i<=m-n+1;i++)
{
f();
}
for(int i=len-1;i>=0;i--)
cout<<c[i];
}