posts - 99,  comments - 8,  trackbacks - 0

#include 
<stdio.h>
#include 
<stdlib.h>
int main ()

    __int64 mi[
50];
    
    mi[
0]=0;
    mi[
1= 1;
    mi[
2= 2;
    
for (int i = 3; i < 50; i ++)
    
{
        mi[i] 
= mi[i - 2+ mi[i - 1];
    }
 
    
    
int n;
    
int a, b;
    
    
while ( scanf ("%d"&n) != EOF )
    
{
          
for (int i = 0; i < n; i ++)
          
{
              scanf (
"%d%d"&a, &b);
              
              printf (
"%I64d\n",a < b ? mi[b - a]: 0);
          }

    }

    
     
return 0;
}

//关键是弄清楚问题的本质:因为达到  b 是有两条路径的  由此递推
posted on 2010-08-13 21:31 雪黛依梦 阅读(221) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年8月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(4)

随笔分类

随笔档案

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜