#include <iostream>
#include <cstdio>
#include <cstring>using namespace std;const int round_max = 20 + 5;
const int grade_max = 20 * 3 + 5;
long long dp[round_max][grade_max];         //表示 第i回合 获得 j分 的 方法数目
int a, b, t;
long long ans;void DP()
{memset(dp, 0, sizeof(dp));dp[1][1] = dp[1][2] = dp[1][3] = 1;     //从这种初始状态开始状态转移for(int i = 2; i < round_max; i ++){for(int j = 1; j < grade_max; j ++){if(j > 1)dp[i][j] += dp[i - 1][j - 1];if(j > 2)dp[i][j] += dp[i - 1][j - 2];if(j > 3)dp[i][j] += dp[i - 1][j - 3];}}
}int main()
{DP();while(~scanf("%d %d %d", & a, & b, & t)){int sum_round, a_round, b_round;sum_round = t / 15;b_round = sum_round / 2;a_round = sum_round - b_round;if(a + a_round * 3 <= b + b_round)      //表示不管如何得分 最后a都不可能获胜{printf("0\n");continue;}int a_b = b_round + b - a;      //计算 b最终 与 a初始 的差值if(a_b < 0)     //如果差值小于0 则说明a已经赢了{if(sum_round == 0)      //总回合数为0 则不能继续进行比赛 直接获胜输出1{printf("1\n");continue;}else                    //总回合数不为0 则后面不管怎样 都是a获胜a_b = 0;}ans = 0;for(int i = a_b + 1; i < grade_max; i ++)ans += dp[a_round][i];printf("%I64d\n", ans);}return 0;
}

题意:

  一场NBA篮球比赛总共48分钟,假如我们现在已经知道当前比分 A:B,A代表我方的比分,B代表对方的比分,现在比赛还剩下t秒时间。我们简单的认为双方各自进攻一次的时间皆固定为15秒(不到15秒则进攻不得分),且为交替进攻,即我方进攻一次,接着对方进攻,依次循环。
  进攻有三种选择方式:(这里不考虑命中率)
  1、造犯规,(假设都两罚一中)得1分;
  2、中距离投篮 得2分;
  3、三分球 得3分。
  为了简化问题,假设在对方回合,由于我方防守比较好,只让对手得1分,且为固定,即对方的进攻回合就为每回合得1分。现在比赛进入最后关头,接下来第一个回合是我方进攻,现在威威猫想要知道教练有多少种不同的选择能使我方可能赢得比赛(可能的意思就是不考虑命中率的情况)。输入有多组数据(不超过250组);每组数据包含3个整数A,B和t,其中A和B 表示当前的比分(0 <= A, B <= 200),t表示还剩多少时间(单位秒 0 <= t <= 600)。请输出可行的方案数,每组数据输出占一行。

题解:

ans必须用long long,用int会超范围。
状态转移:
dp[i][j]表示前i回合获得j分的方法数
dp[i][j]=dp[i-1][j-1]+dp[i-1][j-2]+dp[i-1][j-3]。

HDU-4504 威威猫系列故事——篮球梦相关推荐

  1. HDU 威威猫系列故事——篮球梦

    威威猫系列故事--篮球梦 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  2. 威威猫系列故事——篮球梦

    威威猫系列故事--篮球梦 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  3. 动态规划 || 威威猫系列故事——篮球梦 (类似背包)

    威威猫系列故事--篮球梦 威威猫十分迷恋篮球比赛,是忠实的NBA球迷,他常常幻想自己那肥硕的身躯也能飞起扣篮.另外,他对篮球教练工作也情有独钟,特别是对比赛的战术,投篮选择方面也是很有研究,下面就是威 ...

  4. HDU 威威猫系列故事——篮球梦

    Problem Description 威威猫十分迷恋篮球比赛,是忠实的NBA球迷,他常常幻想自己那肥硕的身躯也能飞起扣篮.另外,他对篮球教练工作也情有独钟,特别是对比赛的战术,投篮选择方面也是很有研 ...

  5. hdu4504 威威猫系列故事——篮球梦 解题报告

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  6. HDU 4540 威威猫系列故事――打地鼠(DP)

    D - 威威猫系列故事――打地鼠 Time Limit:100MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub ...

  7. 动态规划位置hdu 4540 威威猫系列故事——打地鼠(动态规划)

    题记:写这篇博客要主是加深自己对动态规划位置的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 威威猫系列故事--打地鼠 Time Limit: 300/100 MS (Java/O ...

  8. HDU 4526 威威猫系列故事——拼车记 dp

    威威猫系列故事--拼车记 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  9. hdu 4523 威威猫系列故事——过生日 小模拟

    威威猫系列故事--过生日 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

最新文章

  1. 公司各个阶段 CTO 需要做什么?(下篇)
  2. tftp ubuntu安装
  3. Bech32编码 (4)地址验证示例
  4. jQuery Ajax实现下拉框无刷新联动
  5. Oracle 11g系统自动收集统计信息的一些知识
  6. 加密芯片在汽车无钥匙启动行业的应用
  7. C#使用GET、POST请求获取结果
  8. 分享Silverlight/WPF/Windows Phone一周学习导读(3月28日-4月2日)
  9. 用C语言编写99乘法表
  10. 【Oracle】SQL查询 基本查询语句
  11. 短视频剪辑的九大技巧分享
  12. openid是什么意思?token是什么意思?
  13. 计算机登录账户删除著名恢复,win10系统删除计算机无用账户的恢复步骤
  14. [转]ArcGIS计算图斑的四邻坐标(XMin,XMax,YMin,YMax)
  15. 宏观分析(美债利率、美元、黄金、石油、标普500的相关性)
  16. 前端vue方法导出为xsml
  17. 解决电视盒子占用wifi带宽问题
  18. 汽车电子触摸屏产品EMC设计要领
  19. 软件工程技术--第六章 软件实现
  20. Anaconda各个版本清华镜像站下载

热门文章

  1. 决策曲线 Decision Curve
  2. PSCP和SCP区别和用法
  3. vue2 + elementui 日期时间选择器 禁止选择当前时间之前的日期及时间,并添加相应校验规则
  4. win10 磁盘100%
  5. QQ游戏美女找茬外挂
  6. VisualGDB使用SSH连接远程Linux服务器运行调试Linux工程
  7. 小计算机cv值怎么计算方法,变异系数怎么算_excel求变异系数
  8. 公路村村通 (30分)【C语言】Prim算法 和 Kruskal算法
  9. 关于常用python编程软件有哪些,你可能还不知道
  10. 让AI玩俄罗斯方块 UCL ENGF2 CA4.1 作业