sdau三 1011
2016-05-30 10:15
531 查看
问题:
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
其中,蜂房的结构如下所示。
Input
输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。
Output
对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。
Sample Input
2
1 2
3 6
Sample Output
1
3
分析:
这题和上一题一样,只是换了换题面。
代码:
有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
其中,蜂房的结构如下所示。
Input
输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b(0<a<b<50)。
Output
对于每个测试实例,请输出蜜蜂从蜂房a爬到蜂房b的可能路线数,每个实例的输出占一行。
Sample Input
2
1 2
3 6
Sample Output
1
3
分析:
这题和上一题一样,只是换了换题面。
代码:
#include<iostream> #include<cstring> #include<cstdio> using namespace std; long long dp[51]; int n,st,e; long long DP(int m){ memset(dp,0,sizeof(dp)); int i,j; dp[1]=1; for(i=1;i<=m;i++){ for(j=i-2;j<=i-1;j++){ if(i==1)break; if(j>0&&dp[j]!=0)dp[i]+=dp[j]; } } return dp[m]; } int main(){ // freopen("s.txt","r",stdin); cin>>n; while(n--){ cin>>st>>e; long long s=DP(e-st+1); cout<<s<<endl; } return 0; }
相关文章推荐
- HTTPS Java
- 15 个 Android 通用流行框架大全
- uva11624 Fire! (双bfs)
- js动态显示表格的汇总信息和详细信息
- 在Excel中使用频率最高的函数的功能和使用方法
- VC中实现文字竖排的简单方法
- JSP动作元素
- CPU介绍
- Python 常用string函数
- GOLANG IMPORT使用入门
- Android之自定义Adapter的ListView
- goLang 如何开发 windows 窗口界面
- 如何用亿图画状态转换图
- Java String源码解析
- C语言的字符串分割
- visual C++ 项目和解决方案的区别
- mysql常用函数参考
- ue4 笔记
- matlab图像恢复程序实例
- 链接 <a> 的CSS伪类不起作用