有乙隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房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 有乙隻經過訓練的蜜蜂...