码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 2154 跳舞毯(简单DP)

时间:2015-01-17 00:55:55      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:

题意:

有一个圆圆的毯,被平均分成三个扇形。分为标记为A,B,C。

小余从A开始跳,每次可跳到相邻的扇形上。(A->B 或 A->C)

问小余跳n次,最后回到扇形A的方案数是多少。

 

思路:

A,B,C是三个状态。我们画一棵生长的树,一层一层下来,然后发现每一层上其实最多就只有三种状态。所以明显是可以用DP解喽

直接看代码。,

 

代码:

int main(){

    int n;
    int f[1005][5];

    while(cin>>n,n){
        f[0][0]=1;  f[0][1]=0;  f[0][2]=0;
        rep(i,1,n){
            f[i][0]=f[i-1][1]+f[i-1][2];
            f[i][1]=f[i-1][0]+f[i-1][2];
            f[i][2]=f[i-1][1]+f[i-1][0];
            f[i][0]%=mol;
            f[i][1]%=mol;
            f[i][2]%=mol;
        }
        cout<<f[n][0]<<endl;
    }

    return 0;
}

 

hdu 2154 跳舞毯(简单DP)

标签:

原文地址:http://www.cnblogs.com/fish7/p/4229992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!