一隻小蜜蜂——HDU-2044

題目

在這裏插入圖片描述

思路

定義一個數組,假設出發點是N,終點是M。則N、M之間的元素i是點i到終點M的路線數。根據題目可以發現,點i到M的路線數等於i+1的路線數加i+2的路線數;且M-2到M的路線數等於2,M-3到M的路線數等於3。

代碼實現

#include<iostream>
using namespace std;
int main()
{
	int N;
	cin >> N;
	while (N--)
	{
		int a, b;
		cin >> a >> b;
		long long num[100] = { 0 };
		for (int j = b; j > a-1; j--)
		{
			if (j + 2 < b) num[j] = num[j + 1] + num[j + 2];
			if (j == b - 1)num[j] = 1;
			if (j == b - 2)num[j] = 2;
			if (j == b - 3)num[j] = 3;
		}
		if (a == b) num[a] = 1;
		cout << num[a] << endl;
	}
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章