设为首页 加入收藏

TOP

UVA580-Critical Mass
2015-07-20 17:40:02 来源: 作者: 【 】 浏览:2
Tags:UVA580-Critical Mass

题目链接


题意:一个栈中只能放入U和L,问存在连续3个以上U(危险组合)的个数为几个

思路:用从的组合数-安全组合=危险组合。d[i]表示第i个位置以L结束的序列,所以就有d[i] = d[i - 1] + d[i - 2] + d[i - 3]。

代码:

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        using namespace std; const int MAXN = 55; int dp[MAXN]; int n; void init(){ memset(dp, 0, sizeof(dp)); dp[1] = 2; dp[2] = 4; dp[3] = 7; for (int i = 4; i < MAXN; i++) dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]; } int main() { init(); while (scanf("%d", &n) && n) { int ans = pow(2, n); ans -= dp[n]; printf("%d\n", ans); } return 0; }
      
     
    
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ZJUT 地下迷宫 (高斯求期望) 下一篇springmvc+mongodb+maven 项目搭..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·python数据分析岗的 (2025-12-25 10:02:21)
·python做数据分析需 (2025-12-25 10:02:19)
·成为一个优秀的pytho (2025-12-25 10:02:16)
·Java后端面试实习自 (2025-12-25 09:24:21)
·Java LTS版本有哪些 (2025-12-25 09:24:18)