蜜蜂路线(bee)

题目描述

一只蜜蜂在图5.1-2所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房M开始爬到蜂房N ,1≤M<N≤1000,有多少种爬行路线?

输入

M,N的值。
输出

爬行路线种数。
样例输入 Copy

1 14
样例输出 Copy

377

#include<bits/stdc++.h>
using namespace std;
int a,b,c,c1,c2;
int n[100000],n1[100000],n2[100000];
void j(int a[],int b[],int d[])
{
    
    
	int x=0;
	c2=c1;
	for(int i=1;i<=c2;i++)
	{
    
    
		d[i]=a[i]+b[i]+x;
		x=d[i]/10;
		d[i]%=10;
	}
	if(x!=0)
		c2++,d[c2]=x;
}
void f(int &ac,int &bc,int a[],int b[])
{
    
    
	for(int i=1;i<=bc;i++)
		a[i]=b[i];
	ac=bc;
}
int main()
{
    
    
	c=c1=1;
	n[1]=n1[1]=1;
	cin>>a>>b;
	a=b-a;
	for(int i=2;i<=a;i++)
	{
    
    
		j(n,n1,n2);
		f(c,c1,n,n1);
		f(c1,c2,n1,n2);
	}
	for(int i=c1;i>=1;i--)
		cout<<n1[i];
	return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_52628784/article/details/113073007
Bee
今日推荐