HDU(2041) (超级楼梯)
来源:互联网 发布:数据线头那边怎么缠 编辑:程序博客网 时间:2024/05/07 00:03
第一次用递归搞,很高兴结果对了(^_^)
悲催的的是提交之后,返回了一个 Time Limit Exceeded
看来递归看似简单,其实相当复杂耗时。递归代码如下:
#include<iostream>#include<stdio.h>using namespace std ;int count = 0 ;void Search( int m ){if( m ){Search( m-1 ) ;if(m-1)Search( m-2 ) ;}else if( m == 0 )count++ ;}int main(){int n ;while( cin >> n ){while( n-- ){int m ;cin >> m ;count = 0 ;Search( m - 1 ) ;cout << count << endl ;}}return 0 ;}
尼玛,好不容易会用递归搞题了,结果超时,真受打击……不多说了,只有换一种非递归方法解决了:
第m级的走法如果等于第m-1级的走法,下一次只能走一级,只有这一种走法 ;
第m级的走法如果等于第m-2级的走法,下一次只能走两级,只有这一种走法 ;
所以推出公式:
(m)级的走法 = (m-1)级的走法 + (m-2)级的走法
#include<iostream>#include<stdio.h>using namespace std ;int main(){int n ;while( cin >> n ){while( n-- ){int a[50] = {0 , 0 , 1 , 2} ;int m ; cin >> m ;for(int i = 4 ; i <= m ; i++)a[i] = a[i-2] + a[i-1] ;cout << a[m] << endl ;}}return 0 ;}
通过这道题感觉到:数学好,才是真的好……
0 0
- hdu 2041 超级楼梯
- HDU 2041 超级楼梯
- Hdu 2041 - 超级楼梯
- HDU 2041 超级楼梯
- HDU 2041 超级楼梯
- hdu 2041 超级楼梯
- HDU 2041 - 超级楼梯
- HDU(2041) (超级楼梯)
- hdu 2041 超级楼梯
- [hdu-2041] 超级楼梯
- hdu 2041 超级楼梯
- HDU 2041 超级楼梯
- hdu 2041 超级楼梯
- HDU 2041 超级楼梯
- HDU 2041 超级楼梯
- hdu--2041 超级楼梯
- HDU 2041 超级楼梯
- HDU 2041 超级楼梯
- Fusioncharts图表组件事件API汇总
- hdu1596 find the safest road(最短路)
- ArcGIS for Android地图控件的5大常见操作
- 从“黑掉Github”学Web安全开发
- iOS之给button加边框 . 圆角弧度 . 加阴影
- HDU(2041) (超级楼梯)
- ASIWebPageRequest问题
- Makefile 隐含规则
- Spring+iBatis+Atomikos实现JTA事务
- 百度最新面试题集锦
- ViewController 视图切换效果
- The usage of #pragma
- 细数全球最昂贵酒店套房
- linux系统双内核的快速切换机制(kexec)