hdu 4445
今天模拟了一场去年金华的现场赛;
我和小珺两人出了5个题,感觉还可以;
不过这次的题目确实比较简单;
这个题目感觉不错,不难,以前见过用这种方法的,但一直没写过;
这次写下练练手:
思路,将角度分成1000份,然后暴力;
代码:
#include<cstdio>
#include<cmath>
#include<cstring>
#define du 0.003141593
#define g 9.8
#define eps 0.0000001
using namespace std; int ans,n;
double dan[],h,l1,r1,l2,r2; void go()
{
double alph,vx,vy,xx;
for(int j=;j<=;j++)
{
alph=(double)j*du;
int cnt=;
for(int i=;i<n;i++)
{
vx=dan[i]*sin(alph);
vy=dan[i]*cos(alph);
xx=((sqrt(vy*vy+2.0*g*h)-vy)/g)*vx;
if(xx>l2-eps&&xx<r2+eps){cnt=;break;}
if(xx>l1-eps&&xx<r1+eps)
cnt++;
}
if(ans<cnt)ans=cnt;
}
} int main()
{
while(scanf("%d",&n)&&n)
{
memset(dan,,sizeof dan);
ans=;
scanf("%lf",&h);
scanf("%lf%lf%lf%lf",&l1,&r1,&l2,&r2);
for(int i=;i<n;i++)
scanf("%lf",&dan[i]);
go();
printf("%d\n",ans);
}
return ;
}
hdu 4445的更多相关文章
- 【HDU 4445】Crazy Tank(暴力)
高中物理斜抛运动,简单分析一下角度固定下来则可以计算每个cannonball的降落坐标lnd. 因此暴力计算不同角度下的结果. #include <cstdio> #include &qu ...
- HDU 4445 Crazy Tank --枚举
题意: n个物体从高H处以相同角度抛下,有各自的初速度,下面[L1,R1]是敌方坦克的范围,[L2,R2]是友方坦克,问从某个角度抛出,在没有一个炮弹碰到友方坦克的情况下,最多的碰到敌方坦克的炮弹数. ...
- hdu 4445 Crazy Tank (暴力枚举)
Crazy Tank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- hdu 4445 37届金华赛区 D题
题意:给一个坦克的高度,求炮弹能打中最多的数量 枚举角度,作为一名学霸虽然很快推出了公式,但是却没有考虑到,角度可以朝下的情况 #include<cstdio> #include<i ...
- hdu 4445 Crazy Tank
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...
- [物理题+枚举] hdu 4445 Crazy Tank
题意: 给你N个炮弹的发射速度,以及炮台高度H和L1,R1,L2,R2. 问任选发射角度.最多能有几个炮弹在不打入L2~R2的情况下打入L1~R1 注意:区间有可能重叠. 思路: 物理题,发现单纯的依 ...
- hdu 4445 Crazy Tank(物理过程枚举)
遇到物理题,千万不要一味的当成物理题去想着推出一个最终结果来,这样ACM竞赛成了物理比赛,出题人就没水平了...往往只需要基础的物理分析,然后还是用算法去解决问题.这题n小于等于200,一看就估计是暴 ...
- HDU 4445 数学-抛物运动
D - Crazy Tank ...
- HDU 4445 Crazy Tank 高中物理知识忘得差不多了
题意不难理解,仔细看题吧,就不说题意了 #include <iostream> #include <cstdio> #include <cstring> #incl ...
随机推荐
- frameset和iframe--框架对象及元素标签对象
chrome不兼容:不支持跨frame的变量的获取 var oParent = parent.document.getElementById('contentFrm'); //frameset标签对象 ...
- 完全用LINUX工作
http://blog.csdn.net/e6894853/article/details/7881091 下面列出我常用的一些 Linux 程序.一个列表里可能有很多,那是为了方便你来选择,我列出了 ...
- html代码实现自动滚动,鼠标滑过时停止滚动
<marquee style="width: 1200px;height:200px;margin:0px auto" onmouseout="this.start ...
- php-fpm 的安装与LNMP测试
1. 下载并安装PHP 1.1 编译安装 1.1.1 安装前的准备 下载并安装libmcrypt 和 libmcrypt-devel[root@test /opt/soft]# wget ftp:// ...
- Velocity 模板引擎介绍
一.变量 1. 变量定义 #set($name =“velocity”) 2. 变量的使用 在模板文件中使用$name 或者${name} 来使用定义的变量.推荐使用${name} 这种格式,因为在模 ...
- datejs lib
// Get today's date Date.today(); // Add 5 days to today Date.today().add(5).days(); // Get Friday o ...
- SQL Server游标+延迟执行简介
在项目测试中,我们可能会使用批量生成数据来测试程序的性能. 这里讲一个我遇到的问题,由于我们批量生成数据时基本上是瞬间完成,所以GETDATE()函数获得的时间基本上也是一样的,而我们又要求生成每条数 ...
- MVC小系列(十九)【mvc与站点地图】
我的MvcSiteMap地图主要由实体文件,XML配置文件,C#调用文件组成,当然为了前台调用方法,可以为HtmlHelper添加一个扩展方法 第一步 定义站点地图实体 public class Mv ...
- 【转载】Oracle层次查询和分析函数
摘要 一组连续的数,去掉中间一些数,如何求出剩下的数的区间(即号段)?知道号段的起止,如何求出该号段内所有的数?知道一个大的号段范围和已经取过的号段,如何求出可用的号段?利用Oracle提供的强大的查 ...
- powerbulider9.0在数据窗口中实现滚动到新添加行
powerbuilder9.0对数据窗口进行增加行操作,然后实现滚动到指定行时,应先滚动到指定行dw_1.scrolltorow( row),然后设置新添加的行为当前行dw_1.setrow( row ...