DP_bnu 13565 Flags

題意:由紅白藍按照規則形成的旗幟的種類數

WA點:注意longl long

 

則f[i] = f[i-1] + f[i -2]  ,因爲,在f[i-1]後面加一種顏色(紅或白)或者在f[i-2]中加上包括藍的兩種顏色即可形成f[i];

 

#include <stdio.h>
long long color[46];
int main (){
    int n;
    color[1] = 2;
    color[2] = 2;
    color[3] = 4;
    color[4] = 6;
    for (int i = 5; i <= 45; i ++)
        color[i] = color[i - 1] + color[i - 2];
    while(scanf("%d", &n) != EOF)
        printf("%lld\n", color[n]);
    return 0;
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章