HDOJ--2569--彼岸

題目描述:
突破蝙蝠的包圍,yifenfei來到一處懸崖面前,懸崖彼岸就是前進的方向,好在現在的yifenfei已經學過御劍術,可御劍輕鬆飛過懸崖。
現在的問題是:懸崖中間飛着很多紅,黃,藍三種顏色的珠子,假設我們把懸崖看成一條長度爲n的線段,線段上的每一單位長度空間都可能飛過紅,黃,藍三種珠子,而yifenfei必定會在該空間上碰到一種顏色的珠子。如果在連續3段單位空間碰到的珠子顏色都不一樣,則yifenfei就會墜落。
比如經過長度爲3的懸崖,碰到的珠子先後爲 “紅黃藍”,或者 “藍紅黃” 等類似情況就會墜落,而如果是 “紅黃紅” 或者 “紅黃黃”等情況則可以安全到達。
現在請問:yifenfei安然抵達彼岸的方法有多少種?
輸入描述:
輸入數據首先給出一個整數C,表示測試組數。
然後是C組數據,每組包含一個正整數n (n<40)。
輸出描述:
對應每組輸入數據,請輸出一個整數,表示yifenfei安然抵達彼岸的方法數。
每組輸出佔一行。
輸入:
2
2
3
輸出:
9
21
題意:
字面意思
題解
簡單遞推
代碼:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
using namespace std;

const int maxn = 50;
int f[maxn];

void init(){
    f[1] = 3;
    f[2] = 9;
    for(int i = 3; i <= 40; i ++){
        f[i] = 2 * f[i - 1] + f[i - 2];
    }
}

int main(){
    int t,n;
    scanf("%d",&t);
    init();
    while(t--){
        scanf("%d",&n);
        printf("%d\n",f[n]);
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章