编程语言
首页 > 编程语言> > 算法设计与分析--蜜蜂路线问题

算法设计与分析--蜜蜂路线问题

作者:互联网

一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房M开始爬到蜂房N,M<N,有多少种爬行路线?
在这里插入图片描述
算法分析:
f[]:爬到i位置的方法数
递归关系分析:
f[i]=f[i-1]+f[i-2]
递推边界:
f[m]=1(爬行起点方法数为0)
f[m+1]=1(爬行起点到达相邻的下一个蜂巢的爬行方法数为1)

#include <iostream> 
 #define SIZE 15001 
 using namespace std; 
 int f[SIZE] ;
 int main(){
     int n, m, i; 
     cin >> m >> n;   
     f[m]=1;
     f[m+1]=1;
     for (i = m+2; i <= n; i++)
         f[i] = f[i-1] + f[i-2];
     cout << f[n] << endl; 
     return 0;
  }

标签:int,爬行,路线,数为,算法,蜜蜂,蜂房,SIZE
来源: https://blog.csdn.net/weixin_45435509/article/details/101074903