hdu 2047 阿牛的EOF牛肉串

如果末尾加的是E或F,显然是2*a[i-1]

如果末尾加的是O,则末2位一定是EO或FO,则为2*a[i-2]。

然后两者相加 2*a[i-1]+2*a[i-2] = 2*(a[i-1]+a[i-2])

#include<stdio.h>
int main(void)
{
    int n;
    long long i,narr[40];
    narr[1]=3;narr[2]=8;
    for(i=3;i<40;i++)
    {
        narr[i]=2*(narr[i-1]+narr[i-2]);
    }
    while(scanf("%d",&n)!=EOF)
    {
        printf("%lld\n",narr[n]);
    }
    return 0;
}

 更多可参考:http://www.acmerblog.com/hdu-2047-3143.html

posted @ 2016-07-23 10:27  马丁黄瓜啊  阅读(148)  评论(0编辑  收藏  举报