专题三 Problem K

本文探讨了一只蜜蜂从蜂房a爬到蜂房b的所有可能路径数量问题。通过使用递归思想并进行预处理来解决该问题,最终实现了一个有效的算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、题目编号:
          1011
二、简单题意:
         有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。计算蜜蜂从蜂房a爬到蜂房b的可能路线数。
三、解题思路形成过程
         要想知道从a到b可能的路线数就需要知道到达b-1的路线数和b-2的路线数,递归回去即可。注意观察规律,对于a不等于1的情况都可以转化为a为1来做。
四、感想
         思路并不难想。开始提交的代码超时,想了想递归过程太费时间了,于是进行了预处理。但是提交后wa了。。还需要考虑数据是否太大溢出的问题。
五、AC代码
#include<iostream>
using namespace std;
int main()
{
    long long v[52];
    int n,a,b;
    v[1]=1;
    v[2]=1;
    for(int i=3;i<52;i++)
    {
        v[i]=v[i-1]+v[i-2];
    }
    cin>>n;
    while(n--)
    {
        cin>>a>>b;
        b=b-(a-1);
        cout<<v[b]<<endl;
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值