1. 程式人生 > >第二次周賽C題(HDU-2046)

第二次周賽C題(HDU-2046)

問題連結:https://vjudge.net/problem/HDU-2046

Get:這是一道遞推求解題,n規模的格子只能從n-1和n-2得來,n-1的時候增加一個格子,只能豎著放,n-2的時候增加兩個格子,只能橫著放(如果豎著放,就跟n-1的時候重複了)。所以f(n)=f(n-1)+f(n-2),符合斐波那契數列。到了後面f(n)越來越大,所以用__int64或long long定義變數。

AC程式碼:

#include <iostream>
using namespace std;
int main()
{
	int n;
	__int64 a[50] = { 1
,2,3 }; while (cin >> n) { for (int i = 3; i < n; i++) { a[i] = a[i - 1] + a[i - 2]; } cout << a[n - 1] << endl; } }