题目描述

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

输入输出格式

输入格式:

输入M,N的值

输出格式:

爬行有多少种路线

输入输出样例

输入样例#1: 复制

1 14
输出样例#1: 复制

377

说明

对于100%的数据,M,N\le 1000M,N≤1000

思路:斐波那契。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
struct nond{
int num[];
}f[];
void jia(int pos){
f[pos].num[]=max(f[pos-].num[],f[pos-].num[]);
for(int i=;i<=f[pos].num[];i++)
f[pos].num[i]=f[pos-].num[i]+f[pos-].num[i];
for(int i=;i<=f[pos].num[];i++)
if(f[pos].num[i]>=){
if(i==f[pos].num[]) f[pos].num[]++;
f[pos].num[i+]+=;
f[pos].num[i]%=;
}
for(;f[pos].num[]>=;f[pos].num[]--) if(f[pos].num[f[pos].num[]]) break;
}
int main(){
scanf("%d%d",&m,&n);
n-=m;
if(n==){ cout<<"";return ;}
f[].num[]=f[].num[]=f[].num[]=f[].num[]=;
for(int i=;i<=n;i++) jia(i);
for(int i=f[n].num[];i>=;i--) cout<<f[n].num[i];
}

最新文章

  1. 安装jhipster
  2. Nancy之ModelBinding(模型绑定)
  3. lsof 解决无法删除文件夹问题
  4. &quot;504 Gateway Time-out&quot;
  5. 编写spring配置文件时,不能出现帮助信息
  6. Redis的过滤器(SCAN)功能
  7. python windows错误码
  8. mysql的SQL_CALC_FOUND_ROWS 使用
  9. 为什么 HTTP 有时候比 HTTPS 好?
  10. java学习笔记 (2) —— Struts2类型转换、数据验证重要知识点
  11. HDU 3306 - Another kind of Fibonacci
  12. 浅谈聚类算法(K-means)
  13. Power Designer如何批量改动数据类型
  14. 【全网最全的博客美化系列教程】02.添加QQ交谈链接
  15. openfire接收离线消息
  16. &quot;cni0&quot; already has an IP address different from 10.244.2.1/24。 Error while adding to cni network: failed to allocate for range 0: no IP addresses available in range set: 10.244.2.1-10.244.2.254
  17. Video.js 简单的使用介绍
  18. 对MVC模型的自悟,详尽解释,为了更多非计算机人员可以理解
  19. ILA用法
  20. Chat Server&#39;s Outgoing Traffic

热门文章

  1. Jupyter Notebook 常用的快捷键
  2. 云服务器 ECS Linux 系统下使用 dig 命令查询域名解析
  3. POJ 1035-Spell checker(字符串)
  4. 【POJ3377】Ferry Lanes 最短路
  5. 巧用FPGA中资源
  6. DECLARE CURSOR (Transact-SQL)
  7. 5. webservice通信调用天气预报接口实例
  8. eclipse启动Tomcat加载项目时报内存溢出错误解决办法
  9. 对win2012 server 虚拟机hyper-V 硬盘管理,容量变更及新增硬盘
  10. Redux 总结