P1057 传球游戏

题目描述

上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。

游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师在此吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。

聪明的小蛮提出一个有趣的问题:有多少种不同的传球方法可以使得从小蛮手里开始传的球,传了m次以后,又回到小蛮手里。两种传球方法被视作不同的方法,当且仅当这两种方法中,接到球的同学按接球顺序组成的序列是不同的。比如有三个同学1号、2号、3号,并假设小蛮为1号,球传了3次回到小蛮手里的方式有1->2->3->1和1->3->2->1,共2种。

输入输出格式

输入格式:

 

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

 

输出格式:

 

输出文件ball.out共一行,有一个整数,表示符合题意的方法数。

 

输入输出样例

输入样例#1:
3 3
输出样例#1:
2

说明

40%的数据满足:3<=n<=30,1<=m<=20

100%的数据满足:3<=n<=30,1<=m<=30

2008普及组第三题

 

这题看了一下题解,,

然后,,也不知道为什么,,,

画一个表格,下标1标为1

1,0,0

一次循环,自己的值变成左边和右边的值之和

0,1,1

0,1,1

2,0,0

次数一到,结束操作

不过学到一个方法,对于环形DP,我们可以用pre和nxt数组求前后的祖先,就没必要特判了,(其实还是特判)

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 using namespace std;
 6 void read(int & n)
 7 {
 8     char c='+';int x=0;bool flag=0;
 9     while(c<'0'||c>'9')
10     {c=getchar();if(c=='-')flag=1;}
11     while(c>='0'&&c<='9')
12     {x=x*10+(c-48);c=getchar();}
13     flag==1?n=-x:n=x;
14 }
15 int n,m;
16 int dp[101][101];
17 int pre(int p)
18 {
19     if(p==1) return n;
20     else return p-1;
21 }
22 int nxt(int p)
23 {
24     if(p==n) return 1;
25     else return p+1;
26 }
27 int main()
28 {
29     read(n);read(m);
30     dp[1][1]=1;
31     for(int i=2;i<=m+1;i++)
32         for(int j=1;j<=n;j++)
33                 dp[i][j]=dp[pre(i)][pre(j)]+dp[pre(i)][nxt(j)];
34     printf("%d",dp[m+1][1]);
35     return 0;
36 }

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Keepalived 添加脚本配置监控haproxy方案

作者&#xff1a;风过无痕-唐出处&#xff1a;http://www.cnblogs.com/tangyanbo/ 上一篇文章已经讲到了keepalived实现双机热备&#xff0c;且遗留了一个问题 master的网络不通的时候&#xff0c;可以立即切换到slave&#xff0c;但是如果只是master上的应用出现问题的时候&am…

H.264编解码标准的核心技术(提供相关流程图)

最近在学习H.264编解码知识&#xff0c;上网搜了不少资料看&#xff0c;发现大多数中文资料中都缺少相应的图片&#xff0c;例如编解码流程图、编码模板等&#xff0c;这对加深理解是很有帮助 的。木有办法&#xff0c;只好回去潜心阅读《H.264_MPEG-4_Part_10_White_Paper》&a…

【机器学习】总结:线性回归求解中梯度下降法与最小二乘法的比较

在线性回归算法求解中&#xff0c;常用的是最小二乘法与梯度下降法&#xff0c;其中梯度下降法是最小二乘法求解方法的优化&#xff0c;但这并不说明梯度下降法好于最小二乘法&#xff0c;实际应用过程中&#xff0c;二者各有特点&#xff0c;需结合实际案例具体分析。 最后有…

struts2学习(3)struts2核心知识II

一、struts.xml配置&#xff1a;                                                   1.分模块配置方法&#xff1a; 比如某个系统多个模块&#xff0c;我们把资产管理模块和车辆管理模块&#xff0c;分开&#xff0c;在总…

【机器学习】逻辑斯蒂回归概率计算和手动计算对比

二分类&#xff0c;逻辑斯蒂回归概率计算 import numpy as np from sklearn import datasets from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_splitX,y datasets.load_iris(True)cond y!2X X[cond] y y[cond]resul…

WPF快速指导2:模板

WPF快速指导2&#xff1a;模板 本文摘要&#xff1a; 1&#xff1a;模板作用&#xff1b; 2&#xff1a;样式模板&#xff1b; 3&#xff1a;数据模板&#xff1b; 4&#xff1a;如何使用ControlTemplate&#xff1b; 5&#xff1a;如何使用DataTempla…

五个最佳媒体格式转换器

我们经常会遇到下载的视频文件格式不对&#xff0c;无法在其他播放设备&#xff08;如手机、DVD&#xff09;中使用的问题&#xff0c;现在&#xff0c;我们介绍五个功能强大且易于使用的媒体转换器&#xff0c;用于转换不同类型的视频文件。   Super (Windows) Super是一个免…

【机器学习】六种算法在人脸补全中的应用比较(K紧邻,线性,决策树,岭回归,套索回归,ElasticNet)

需求&#xff1a; 根据人的上半边脸预测下半边脸&#xff0c;用各种算法取得的结果与原图比较 思考&#xff1a; 这是一个回归问题&#xff0c;不是分类问题&#xff08;人脸数据不固定&#xff09; 数据集一共包含40个人&#xff0c;每一个人10张照片&#xff0c;分布规律 每…

性能优化之NSDateFormatter

为什么要优化NSDateFormatter&#xff1f;首先&#xff0c;过度的创建NSDateFormatter用于NSDate与NSString之间转换&#xff0c;会导致App卡顿&#xff0c;打开Profile工具查一下性能&#xff0c;你会发现这种操作占CPU比例是非常高的。据官方说法&#xff0c;创建NSDateForma…

QuickTime文件格式解析

QuickTime文件格式解析Peter Lee 2008-06-14 一、简介 QuickTime是Apple公司开发的一套完整的多媒体平台架构&#xff0c;可以用来进行多种媒体的创建&#xff0c;生产&#xff0c;和分发&#xff0c;并为这一过程提供端到端的支持&#xff1a;包括媒体的实时捕捉&#xff0c;…

python的数据类型转换

数据类型转换 将数据由当前类型变化为其他类型的操作就是数据类型转换。数据类型转换分为两类&#xff0c;分别是自动数据类型转换 和 强制数据类型转换。 自动转换(隐式转换) 自动转换时程序根据运算要求进行的转换&#xff0c;不许要人工干预。 1.自动类型转换不需要人工干…

Linux文件属性及如何修改文件属性

ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性 dr-xr-x---. 7 root root 4096 Apr3 12:31 . 权限 连接 所有者 用户组 文件容量 修改日期 文件名 第一个字符代表这个文件是“目录&#xff0c;文件&#x…

SyntaxError:identifier starts immediately after numeric literal

1、错误描写叙述2、错误原因因为在改动方法传參的过程&#xff0c;须要传个id&#xff0c;可是这个id是字符串类型&#xff0c;传入的是数值型3、解决的方法在传參时&#xff0c;须要加入“”&#xff0c;变成字符串类型User.modify("id");

python中的运算和运算符

运算和运算符 运算&#xff1a; 由一个以上的值经过变化得到新值得过程&#xff0c;就是运算。 运算符&#xff1a; 用于运算的符号&#xff0c;就是运算符 运算的分类&#xff1a; 1.算数运算 2.比较运算/关系运算 3.赋值运算 4.逻辑运算 5.位运算 6.成员运算 7.身份运算算术…

【数据分析】reshape(-1,1)和numpy的广播机制

在创建DataFrame的时候常常使用reshape来更改数据的列数和行数。 reshape可以用于numpy库里的ndarray和array结构以及pandas库里面的DataFrame和Series结构。 源数据 reshape函数 reshape&#xff08;行&#xff0c;列&#xff09;可以根据指定的数值将数据转换为特定的行数和…

蓝桥杯-组素数-java

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称&#xff1a; 蓝桥杯赛题 * 作 者&#xff1a; 彭俊豪 * 完成日期&#xf…

AVI文件规范

AVI文件规范PeterLee 2007-10-14 一、AVI文件简介 AVI的英文全称为Audio Video Interleaved&#xff0c;即音频视频交错格式&#xff0c;是将语音和影像同步组合在一起的文件格式。AVI于1992年被Microsoft公司推出&#xff0c;随Windows3.1一起被人们所认识和熟知。AVI文件格式…

python中的流程控制

流程控制 流程&#xff1a; 计算机执行代码的顺序&#xff0c;就是流程。 流程控制&#xff1a; 对计算机代码执行顺序的控制&#xff0c;就是流程控制。 流程分类&#xff1a; 流程控制一共分为三类&#xff0c;分别是 顺序结构、分支(选择)结构、循环结构。 顺序结构 顺序…

tomcat jdbc SlowQueryReport的实现解读

为什么80%的码农都做不了架构师&#xff1f;>>> ##序 tomcat提供了JdbcInterceptor可以用来监控jdbc的执行情况&#xff0c;默认提供了好几个现成的interceptor可以用&#xff0c;SlowQueryReport以及SlowQueryReportJmx就是其中的两个。 ##JdbcInterceptor的基本原…

【机器学习】Bagging和Boosting的区别(面试准备)

Baggging 和Boosting都是模型融合的方法&#xff0c;可以将弱分类器融合之后形成一个强分类器&#xff0c;而且融合之后的效果会比最好的弱分类器更好。 Bagging: 先介绍Bagging方法&#xff1a; Bagging即套袋法&#xff0c;其算法过程如下&#xff1a; 从原始样本集中抽取训…