hdu4504java
import java.util.*;
class Main{
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
long [][]a=new long[25][210];//这里要注意用long数组,不然就会溢出;
a[0][0]=1;
for(int i=1;i<25;i++){//i表示的是场数;
for(int j=i-1;j<=3*(i-1);j++){//j表示的是分数;
if(a[i-1][j]!=0){//这个数组是用来记录各个分数的情况,后一场等于前一场情况相加;
a[i][j+1]+=a[i-1][j];
a[i][j+2]+=a[i-1][j];
a[i][j+3]+=a[i-1][j];
}
}
}
while(cin.hasNext()){
int n=cin.nextInt();
int m=cin.nextInt();
int t=cin.nextInt();
int s=0;
s=(t/15+1)/2;
long sum=0;
for(int i=Math.max( s,((m-n)+(t/15)-s+1));i<=3*s;i++){
sum+=a[s][i];
}
System.out.println(sum);
}
}
}
这个题目用java很容易超时,那个动态数组要放在外面才不会超时;
威威猫系列故事——篮球梦
Time Limit: 300/100 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 3896 Accepted Submission(s): 1015
一场NBA篮球比赛总共48分钟,假如我们现在已经知道当前比分 A:B,A代表我方的比分,B代表对方的比分,现在比赛还剩下t秒时间。我们简单的认为双方各自进攻一次的时间皆固定为15秒(不到15秒则进攻不得分),且为交替进攻,即我方进攻一次,接着对方进攻,依次循环。
进攻有三种选择方式:(这里不考虑命中率)
1、造犯规,(假设都两罚一中)得1分;
2、中距离投篮 得2分;
3、三分球 得3分。
为了简化问题,假设在对方回合,由于我方防守比较好,只让对手得1分,且为固定,即对方的进攻回合就为每回合得1分。现在比赛进入最后关头,接下来第一个回合是我方进攻,现在威威猫想要知道教练有多少种不同的选择能使我方可能赢得比赛(可能的意思就是不考虑命中率的情况)。
每组数据包含3个整数A,B和t,其中A和B 表示当前的比分(0 <= A, B <= 200),t表示还剩多少时间(单位秒 0 <= t <= 600)。
样例解析: 当前比分是88:90,还剩50秒则对方还最多有一次进攻机会(最后5秒进攻不成功),我方有两次,对方的最终得分将是91, 我方至少在两回合中拿到4分才能胜利,所以所有方案数是6种,即
转载于:https://www.cnblogs.com/1314wamm/p/5458844.html
最新文章
- Web系统中Mic设备的应用实例
- LeetCode Arithmetic Slices(动态规划)
- primer3批量设计引物
- mac 连接hbase的图形化界面_MAC安装Hbase以及Hbase基本命令
- Mschart图表制作
- sql server 备份计划
- C++:47---绝不重新定义继承而来的缺省参数值
- 《算法的乐趣》作者王晓华访谈:多看、多做、多想是秘诀
- 数据结构7.3_图的遍历
- 免密登录关闭_微信最新提醒:这个设置再不关闭,你的微信账号就能被别人“免密登录”!...
- Spring IOC源码笔记(一)
- 三菱plc编程软件怎么用c语言,各种三菱PLC编程软件的用途介绍
- android酷狗音乐播放器,酷狗音乐app官方下载
- BCM94360CD+linux+驱动,BCM94360CD WINDOWS驱动(32+X64位)
- 矢量网络分析仪测试软件,ZND 矢量网络分析仪
- 谷歌浏览器如何设置internet选项
- 映射异常: An association from the table tb_baoxiao refers to an unmapped class: int
- 面试准备之java8的新特性
- windows商店_小技巧:微软Windows 10商店如何下载免费HEVC编解码器
- Python画五角星(turtle初识)