HDU 2044 乙隻小蜜蜂(遞推打表求解)

2021-10-08 13:21:09 字數 1028 閱讀 9685

有乙隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。

其中,蜂房的結構如下所示。

輸入資料的第一行是乙個整數n,表示測試例項的個數,然後是n 行資料,每行包含兩個整數a和b(0解題思路:我們注意到蜜蜂只能前往右側相鄰的蜂房,假設在從第1個到第n(n>2)個蜂房處有f(n)中方案,那麼我們往左看,在第n個蜂房旁有第n-1和第n-2兩個蜂房,且它們直接到達第n個蜂房都只有一種途徑,而它們對應到達蜂房的方案數為f(n-1)和f(n-2)種,則有如下結論

f(n)=f(n-1)+f(n-2)(n>2)

對於f(1)和f(2)易知是1和2,則可推出結果。

而從第a個蜂房到第b個蜂房等價於從第1個蜂房到第(b-a)個蜂房,則所有問題迎刃而解了,則打好錶即可高效解決。

ac**:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

const

int maxn=51;

long

long result[51]

;//結果表 int裝不下

int a,b;

//a蜂房和b蜂房

int t;

//測試用例

void

init()

intmain()

}return0;

}

HDU2044 乙隻小蜜蜂(遞推)

乙隻小蜜蜂 crawling in process.crawling failed time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 有乙隻經過訓練的蜜蜂只能爬向右側相鄰的...

HDU 2044乙隻小蜜蜂 遞推

problem description 有乙隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。其中,蜂房的結構如下所示。輸入資料的第一行是乙個整數n,表示測試例項的個數,然後是n 行資料,每行包含兩個整數a和b 0output 對於每個測試例項,...

hdu2044 乙隻小蜜蜂

思路 觀察一下可以知道,比如走到7,首先要走到5或者6,要走到5,首先要先走到4或3.遞推一下即可 include includeusing namespace std define ll long long ll f 60 int n int main description 有乙隻經過訓練的蜜蜂...