HDU4445
来源:互联网 发布:淘宝贷款app 编辑:程序博客网 时间:2024/05/16 19:16
http://acm.hdu.edu.cn/showproblem.php?pid=4445
题意: 在高度为H的位置一部坦克, 你可以调整任意角度一次, 发射n发炮弹, 不可以击中队友,
问你最大可以击中敌人的次数.
主要是角度不同,投得地方不同,若投到友方区域,直接返回0;
#include <iostream>#include <stdio.h>#include <algorithm>#include <math.h>using namespace std;const double PI=acos(-1.0*1);const double g=9.8;double H,L1,R1,L2,R2;double V0[205];int n;int ff(double x) //定义一个角度{ int num=0; for(int i=0;i<n;i++) { double Vx=V0[i]*cos(x);//水平方向的速度 double Vy=V0[i]*sin(x);//垂直方向的速度 double a=g/2; double b=Vy; double c=-H; double t=(-b+sqrt(b*b-4*a*c))/(2*a); double d=t*Vx; if(d>=L2&&d<=R2) return 0; if(d>=L1&&d<=R1) num++; } return num;}int main(){ while(scanf("%d",&n)!=EOF) { if(n==0) break; scanf("%lf%lf%lf%lf%lf",&H,&L1,&R1,&L2,&R2); for(int i=0;i<n;i++) { scanf("%lf",&V0[i]); } double add=PI/1000; int ans=0; for(double x=-PI/2;x<PI/2;x+=add) { ans=max(ans,ff(x)); } printf("%d\n",ans); } return 0;}
0 0
- HDU4445
- hdu4445(三分法)
- hdu4445-Crazy Tank
- hdu4445 物理枚举
- hdu4445 Crazy Tank
- hdu4445 三分+二分+区间覆盖
- hdu4445 CRAZY TANK 2012金华赛区现场赛D题
- 设计包含min函数的栈[数据结构]
- C#中对象数组
- Hibernate 注解中CascadeType用法
- 【我的问题】android通过XML实现按钮被按下的反馈效果
- cf 383D DP
- HDU4445
- Maven学习笔记(四):坐标与依赖
- android volume设置 代码分析
- CodeForces 16B Burglar and Matches (贪心)
- hive中order by,sort by, distribute by, cluster by作用以及用法
- 简单背包
- 魔方机器人之下位机编程---模拟PWM
- HDU--1231 : 最大连续子序列 (DP求连续子序列最大和)
- 面对就业我们是否还在徘徊那么你就看看这篇文章吧