首页 > 其他分享 >传球游戏

传球游戏

时间:2022-11-30 10:00:32浏览次数:36  
标签:同学 传球 return 游戏 小蛮 int fun


描述


        上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。         游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没传出去的那个同学就是败者,要给大家表演一个节目。         聪明的小蛮提出了一个有趣的问题:有多少种不同的传球方法可以使得从小蛮手里开始传的球,传了m次以后,又回到小蛮手里。两种传球方法被视作不同的方法,当且仅当这两种方法中,接到球的同学按接球顺序组成的序列是不同的。比如有三个同学1号、2号、3号,并假设小蛮为1号,球传了三次回到小蛮手里的方式有1-> 2-> 3-> 1和1-> 3-> 2-> 1,共2种。


输入


        输入共一行,有两个用空格隔开的整数n,m(3< =n< =30,1< =m< =30)。


输出


        输出共一行,有一个整数,标示符合题意的方法数。


样例输入


3 3


样例输出


2




这个题目是2009年 全国信息学奥林匹克联赛(NOIP2008)复赛 ­


­【我的解法】


此题我是用递推做的,其实事后细想这也应该属于动态规划。


可以设[b]f[i][j][/b]为第i次传到第j个人的手上的方案总数,便得递推式:f[i][j]=f[i-1][j-1]+f[i-1][j+1](1<=i<=n,1<=j<=m)注意,j-1和j+1不能超出范围,所以需设立一个函数来界定值。


代码如下:


#include <stdio.h>
#include <iostream>
using namespace std;
int n,m;
int fun(int x)
{
if(x<1)
return x+n;
if(x>n) return x-n;
return x;
}
int main()
{ int f[31][31]={0},i,j;
scanf("%d%d",&n,&m);
f[1][2]=f[1][n]=1;
for (i=2;i<=m;i++)
for (j=1;j<=n;j++)
f[i][j]=f[i-1][fun(j-1)]+f[i-1][fun(j+1)];
printf("%d",f[m][1]);
return 0;
}






标签:同学,传球,return,游戏,小蛮,int,fun
From: https://blog.51cto.com/u_15896805/5897508

相关文章

  • 字母旋转游戏
                                   字母旋转游戏Description给定两个整数M,N,生成一个M*N的矩阵,矩阵中元素取值......
  • 通州大兴游戏网站高防BGP物理机
    普通的应用服务器,其唯一的功能就是根据用户的HTTP请求计算一台真实的服务器地址,并将真实的服务器地址写入HTTP重定向响应中(响应状态吗302)返回给浏览器,然后浏览器再自动请......
  • 通州大兴游戏网站高防物理机租用
    所以七层负载均衡在接到客户端的流量以后,还需要一个完整的TCP/IP协议栈。七层负载均衡会与客户端建立一条完整的连接并将应用层的请求流量解析出来,再按照调度算法选择一个......
  • python爬取某游戏皮肤(学习使用)
        使用到了requests,xpath,re解析模块,同时使用了time,os模块辅助。使用xpath解析时,并不是所见即所得,没有re好用。一、requests模块:url="https://pvp.qq.com/web......
  • Unity游戏的GC(garbage collection)优化
     Unity版本:5.5引言游戏运行时使用内存来存储数据,当这些数据不再被使用时,存储这些数据的内存被释放以便于之后这些内存可以被复用。垃圾(Garbage)是存储无用数据的内存的术语......
  • 力扣 leetcode 45. 跳跃游戏 II
    问题描述给你一个非负整数数组nums,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一......
  • 找call的万能方法,一招通杀所有网络游戏【个人实践出来的】
    呵呵这个说的是方法,就不拿哪个游戏来举例了,懂得原理,操作自己灵活变动。首先说的,网络游戏是有客户端服务器的,这样就得需要一个通讯,基本上的功能都会通过服务器来验证......
  • 游戏windows 2008系统如何修改账户密码
    ​​利联科技—​​   服务器的密码如果长期不变换,会有一定的安全隐患,所以必须要定期的去做修改下服务器密码,但是前提是你要记得自己设置的密码,不要给自己增加额外的......
  • 丰台顺义游戏网站高防物理机租用
    神泣的无视任何GJ高防服务器、英雄王座的奇特、问道的一条龙高防服务器。在WM世界中真封神专用流量清洗高防服务器是去看看市场上、连合利用铁皮市场、占领市场、结实市场......
  • java 简单拼图小游戏的实现
    这个是游戏页面的源代码packagePuzzle;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.KeyEvent;importjava.awt.event......