博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 4445 Crazy Tank
阅读量:4964 次
发布时间:2019-06-12

本文共 1300 字,大约阅读时间需要 4 分钟。

#include 
#include
#include
#include
#include
const double g = 9.8;using namespace std;double h,l1,r1,l2,r2;zdouble cal(double ang,double v){ double vx,vy; vx = v * sin(ang); vy = v * cos(ang); double t=(sqrt(vy*vy+2*g*h)-vy)/g; // vt + 1/2*g*t^2 = h return t*vx;}int main(){ int n; double V[205]; const double PI = acos(-1.0); while(scanf("%d",&n)!=EOF && n) { scanf("%lf%lf%lf%lf%lf",&h,&l1,&r1,&l2,&r2); int ans=0; for(int i=1;i<=n;i++) scanf("%lf",&V[i]); double an=0; while(an<=PI) //因为是枚举的 所以就不能想着在上半个 90度就可以达到区域下半个90度也可以达到 { //所以误区就是只枚举上半个90度。 int tans=0; bool hit=false; for(int i=1;i<=n;i++) { float dis=cal(an,V[i]); if(dis<=r2 && dis>=l2) //题目说的是在不打到自己队友的前提下 所以一旦打到自己队友了 这个角度是作废的。 { hit=true; break; } if(dis<=r1 && dis>=l1) tans++; } if(tans>ans && !hit) ans=tans; an+=PI/1000; //枚举1000份 } cout<
<

转载于:https://www.cnblogs.com/pangblog/p/3239185.html

你可能感兴趣的文章
perl读取excel
查看>>
$("this") $(this) 区别
查看>>
python代码格式规范
查看>>
IOS获取系统相簿里的照片
查看>>
OS开发UI篇—无限轮播(功能完善)
查看>>
[模板]数学整合
查看>>
不受控制的 position:fixed
查看>>
safari的坑
查看>>
awk根据指定的字符串分割字符串
查看>>
ubuntu下apt-get的配置文件是哪个
查看>>
[九省联考2018]一双木棋chess
查看>>
6.循环
查看>>
tp3.2 自带的文件上传及生成缩略图功能
查看>>
Angular 入门学习
查看>>
[单选题]条件语句的时候不应该使用哪一种控制结构
查看>>
1049 I Think I Need a Houseboat ACM题答案 java版
查看>>
socket tcp
查看>>
hdu1083二分图匹配模板题
查看>>
我的未来路
查看>>
java—泛型
查看>>