1. 程式人生 > 其它 >D - 一隻小蜜蜂...

D - 一隻小蜜蜂...

技術標籤:演算法----4.動規

有一隻經過訓練的蜜蜂只能爬向右側相鄰的蜂房,不能反向爬行。請程式設計計算蜜蜂從蜂房a爬到蜂房b的可能路線數。
其中,蜂房的結構如下所示。

Input

輸入資料的第一行是一個整數N,表示測試例項的個數,然後是N 行資料,每行包含兩個整數a和b(0<a<b<50)。

Output

對於每個測試例項,請輸出蜜蜂從蜂房a爬到蜂房b的可能路線數,每個例項的輸出佔一行。

Sample Input

2
1 2
3 6

Sample Output

1
3

AC程式碼:

#include<cstdio>
#include<iostream>
#pragma warning (disable:4996)
using namespace std;
const int maxn = 40 + 10;
int ans[maxn] = { 0 };
void init() {
	ans[1] = 1;
	ans[2] = 1;
	for (int i = 3; i < maxn; i++)
		ans[i] = ans[i - 1] + ans[i - 2];
}

int main() {
	int n;
	init();
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		int m;
		scanf("%d", &m);
		printf("%d\n", ans[m]);
	}
	return 0;
}