hdu 2154 跳舞毯

题目:跳舞毯

思路:递归水题,n-1时,由B,C跳回A的种数是f(n-1),对于n-2的情况就是,选择B,C中一个点,跳过去,然后跳回A,因此种数是2*f(n-2)

       所以 f(n)=f(n-1)+2*f(n-2)

 

#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int f[1010];
int main()
{
    f[0]=0;
    f[1]=0;
    f[2]=2;
    for(int i=3;i<1010;i++)
        f[i]=(f[i-1]+2*f[i-2])%10000;
    int n;
    while(scanf("%d",&n)!=EOF,n)
    {
        printf("%d\n",f[n]);
    }
    return 0;
}
View Code

 

posted @ 2013-06-20 14:28  over_flow  阅读(191)  评论(0编辑  收藏  举报