【题解】二人放球

题目描述

  校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球。每次Red放1个或2个红色的小球,Blue放1个或2个蓝色的小球,问有多少种可行的排放方案?

  比如:N=4时,有10种可行的排列方案。

输入输出格式

输入格式

  一行,一个整数N。(2<N<40)。

输出格式

  一行,一个整数M,可行的方案数。

输入输出样例

输入样例

3

输出样例

6

题解

  易得这是一个类似Febonacci数列的东西,初始化时前两项乘2即可。

#include <iostream>

using namespace std;

int n;
int a[43] = {2,2,4};

int main()
{
    cin >> n;
    for(int i = 3; i <= n; i++) a[i] = a[i - 1] + a[i - 2];
    cout << a[n];
    return 0;
}

参考程序

原文地址:https://www.cnblogs.com/kcn999/p/10659504.html

时间: 2024-10-08 14:37:13

【题解】二人放球的相关文章

【题解】放球游戏A

题目描述 校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球.每个人一次只能放1至5个球,最后面对没有空格而不能放球的人为输. 现在Red先走,问他有没有必胜的策略? 比如:N=6时,Red必败. 输入格式 一行,一个整数N(2<N<100). 输出格式 一行,一个整数.如果Red必胜输出1,否则输出0. 输入样例 9 输出样例 1 题解 先说结论,当$6|n$时,先手必输,否则先手必赢. 证明:当$6|n$时,先手放任

放球游戏B

题目描述 校园里在上活动课,Red和Blue两位小朋友在玩一种游戏,他俩在一排N个格子里,自左到右地轮流放小球,每个格子只能放一个小球.第一个人只能放1个球,之后的人最多可以放前一个人的两倍数目的球,至少放1个球.最后面对没有空格而不能放球的人为输. 现在Red先走,问他有没有必胜的策略? 比如:N=4时,Red必胜. 输入输出格式 输入格式: 一行,一个整数N(2<N<100). 输出格式: 一行,一个整数.如果Red必胜输出1,否则输出0. 输入输出样例 输入样例: 7 输出样例: 0 思

盒子放球

盒子放球问题 第一类: 将k个球放入n个不同的盒子中,每个盒子放球数>=0,求方法数 假设n个盒子分别放x1,x2,x3...xn,则x1+x2+x3+...+xn=k,令yi=xi+1(1<=i<=n),则yi>=1且y1+y2+...+yn=n+k,相当于求yi这个方程的解组数,可以看成插板问题,往n+k个物品中插入n-1个板,所以答案是C(n+k-1,n-1)=C(n+k-1,k) /* *输入说明:k个相同的球放入n个不同的盒子 *输入每行有两个正整数n和k */ int

盒子放球的DP

URAL1114 题目大意: 有N个盒子,有红色和蓝色两种颜色的球.红球有A个,篮球有B个.现在随意的向盒子里放球, 每个盒子可以放一种颜色的球,也可以放两种颜色的球,也可以不放球.球不必全都放进盒子里.问:总共有多少种方法. 状态dp[i][j][k] 表示向i个盒子里放j个篮球和k个红球的方案数目 状态转移方程:dp[i][j][k]=对dp[i-1][jj][kk] (0<=jj<=j,0<=kk<=k) 求和 最终结果是:在n个盒子里放  不定数目的球的种类数和即   对d

二人牛牛完整源码下载

这里给大家分享二人牛牛源码如下:#include "StdAfx.h"#include "GameLogic.h"////////////////////////////////////////////////////////////////////////////扑克数据BYTE CGameLogic::m_cbCardListData[54]={    0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,

二人牛牛机器人构造源码

本次为大家分析二人牛牛机器人构造源码如下:#include "StdAfx.h"#include "AndroidServiceManager.h"#include "AndroidUserItemSink.h"////////////////////////////////////////////////////////////////////////////构造函数CGameServiceManager::CGameServiceManage

bzoj 4874: 筐子放球

4874: 筐子放球 Time Limit: 10 Sec  Memory Limit: 256 MB Description 小N最近在研究NP完全问题,小O看小N研究得热火朝天,便给他出了一道这样的题目: 有 n 个球,用整数 1 到 n 编号.还有 m 个筐子,用整数1到m编号. 每个球只能放进特定的两个筐子之一,第 i 个球可以放进的筐子记为 Ai 和 Bi . 每个球都必须放进一个筐子中. 如果一个筐子内有奇数个球,那么我们称这样的筐子为半空的. 求半空的筐子最少有多少个. 小N看到题

微信html5六人九人十二人牛牛斗牛斗公牛棋牌架设解析H5文件方法

解析H5文件方法 每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index.js.index.wxml.index.wxss.index.json..js后缀的文件是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式表文件,.wxml后缀的文件是页面结构文件. 上面的意思就已经很清楚了.翻译过来就是: 微信html5六人九人十二人牛牛(h5.ttkmwl.com)斗牛斗公牛棋牌架设解析H5文件方法 .js就是javascript .wxss相当于css .wxml相

微信开发H5十二人牛牛出租源码下载搭建

微信开发H5十二人牛牛出租源码下载搭建h5.fanshubbs.com联系Q1687054422不同于传统的手游商店下载模式,HTML5 手机网页游戏是可以直接运行在微信内置的浏览器里. 先上图,感知一下具体样子: 而我想分享的是我们在具体开发实现过程中,基于微信的Html5 WebApp需要去克服的一些坑:这个小游戏的基本规则是:限定用户每天刮书次数是2次 (自由刮一次和分享后再刮一次),每天都可刮奖为此,我们希望实现的思路首先是限定在只能使用微信中玩,实现代码如下:if (!HttpCont