OpenJudge 取数游戏

描述

我们来玩一个游戏:自然数1到N,按顺序列成一排,你可以从中取走任意个数,但是相邻的两个不可以同时被取走。如果你能算出一共有多少种取法,那么你会被天神Lijiganjun奖励。

输入

仅包含一个数n(1< n < 50)。

输出

仅包含一个数———你的答案。

设dp(n,k)代表前n个数中最右边一个数字取(k=1)或不取(k=0)的方案数

 #include<iostream>
 #include<cstring>
 using namespace std;
 int n;
 ][];
 long A(int n,int k){
     ) return dp[n][k];
     long& ans=dp[n][k];
     ) ;
     ){
         ,)+A(n-,);
     }){
         ,);
     }
 }
 int main()
 {
     memset(dp,,sizeof(dp));
     cin>>n;
     cout<<A(n,)+A(n,);
     ;
 } 
上一篇:Ubuntu安装Wildfly(原JBoss)并为其配置MySQL分布式数据源


下一篇:hdu 1180 诡异的楼梯