上进小青年

导航

HDU2045

http://acm.hdu.edu.cn/showproblem.php?pid=2045

如果n-1的颜色和1相同,那么n有两种走法,如果n-1 的颜色和1不同,那么n只有1种选择方法

公式就是f(n)=f(n-1)+2*f(n-2);

注意最后的结果是long long的范围

 1 #include<stdio.h>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<string.h>
 5 using namespace std;
 6 long long  a[105];
 7 
 8 int main()
 9 {
10    int t,n;
11    while(cin>>n){
12 
13     a[1]=3;
14     a[2]=6;
15     a[3]=6;
16     for(int i=4;i<=n;i++){
17         a[i]=a[i-1]+2*a[i-2];
18     }
19     cout<<a[n]<<endl;
20 
21    }
22 }
View Code

 

posted on 2016-09-24 10:39  上进小青年  阅读(137)  评论(0编辑  收藏  举报