这是一道动态规划的水题,难度为提高-。

题意为:n个人围成一个环传球,每一次都可以往左或右传,传m次,问有几种最后传到小明手里的方案数。然后因为一个状态有两个变量,所以我们用dp[][]来存储【传球次数】【当前序号】的方案数,然后我们可以得知每一个最优子结构都是由相邻左边或者右边的两种子结构得来的,所以我们可以得出dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1]的方程。再进行特判i==1或i==n即可。

1.分析状态转移方程可以尝试用表格的形式,分析是怎么来的,不拘泥于形式,不一定是max(,)

2.设dp数组时想好状态的完整性

代码

#include<bits/stdc++.h>
#define maxn 35
using namespace std;
int n,m;
int dp[maxn][maxn];//[传球的次数][传到的位置]
int main(){
scanf("%d%d",&n,&m);
dp[][]=;//自己到自己
for(int i=;i<=m;i++){//次数
for(int j=;j<=n;j++){//位置
if(j==){
dp[i][j]=dp[i-][n]+dp[i-][];
}
else if(j==n){
dp[i][j]=dp[i-][n-]+dp[i-][];
}
else{
dp[i][j]=dp[i-][j-]+dp[i-][j+];
}
}
}
cout<<dp[m][];
return ;
}

P1057传球游戏的更多相关文章

  1. 洛谷 P1057 传球游戏 解题报告

    P1057 传球游戏 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹 ...

  2. 洛谷P1057 传球游戏(记忆化搜索)

    点我进入题目 题目大意:n个小孩围一圈传球,每个人可以给左边的人或右边的人传球,1号小孩开始,一共传m次,请问有多少种可能的路径使球回到1号小孩. 输入输出:输入n,m,输出路径的数量. 数据范围:4 ...

  3. 洛谷——P1057 传球游戏

    P1057 传球游戏 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹 ...

  4. P1057 传球游戏——小学生dp

    P1057 传球游戏 设f[i][j]为第i次传到j的方案数: f[0][1]=1; 单独处理开头和结尾: #include<cstdio> #include<cstring> ...

  5. 洛谷 P1057 传球游戏 【dp】(经典)

    题目链接:https://www.luogu.org/problemnew/show/P1057 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游 ...

  6. P1057 传球游戏 dp

    题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:nn个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个 ...

  7. P1057 传球游戏

    题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的: nnn 个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球 ...

  8. 洛谷 P1057 传球游戏

    题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同 ...

  9. Codevs 1148 == 洛谷 P1057 传球游戏

    1148 传球游戏 2008年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description 上体育课的时候,小蛮的老师 ...

  10. luogu P1057 传球游戏

    题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同 ...

随机推荐

  1. Markdown 标记语言指北 - 源码

    这是上一篇博客的源代码. 这是班刊约稿的一篇文章. 全文约6000字, 预计需要 60 分钟读完. # Markdown 标记语言指北 #### TOC 1. [什么是 Markdown?](#%E4 ...

  2. nopCommerce4.10学习笔记——入门

    1.下载 千万不要去GitHub上下载,千万不要去GitHub上下载,千万不要去GitHub上下载!!!,重要的事情说3遍,说多了都是泪,你懂的 下载网址:https://www.nopcommerc ...

  3. react-router-dom 实现左侧导航

    1.介绍react-router-dom https://reacttraining.com/react-router/web/example/basic 这个官网有很多栗子可以练手 1.1 Hash ...

  4. java.lang.Integer.MAX_VALUE;这是什么意思?

    这个是Integer类中的一个int类型的常量MAX_VALUE它代表int所能表示的最大值 0x7FFFFFFF 相对应的是Integer类中的另一个常量MIN_VALUE它代表int所能表示的最小 ...

  5. 暂时跳过的Leetcode题目

    963 最小面积矩形 II 有数学几何的味道,感觉这不是笔试面试的重点. 932 漂亮数组 构造题

  6. 获取select的option值

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. kill 与 killall和过滤后杀掉

    1.绝杀 kill -9 PID  杀掉单一进程  例如:kill -9 pid号   同意的 kill -s SIGKILL   这个强大和危险的命令迫使进程在运行时突然终止,进程在结束后不能自我清 ...

  8. linux如何查看所有的用户和组信息(转载)

    [步骤一]cat /etc/passwdcat /etc/passwd查看所有的用户信息,详情如下图 [步骤二]cat /etc/passwd|grep 用户名 cat /etc/passwd|gre ...

  9. SecureCRT For Mac安装、破解、使用详细总结

    转:https://blog.csdn.net/so_geili/article/details/83315852#_4 https://www.sednax.com/download.php

  10. 搭建前端性能showslow平台

    ShowSlow是一个可以帮助监测各种网站性能指标趋势变化的开源工具.通过收集YSlow,Page Speed,WebPageTest和dynaTrace AJAX排名的数据形成图表以帮助了解网站的变 ...