码迷,mamicode.com
首页 > 其他好文 > 详细

【HDU 4445】Crazy Tank(暴力)

时间:2016-08-05 06:26:38      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:

高中物理斜抛运动,简单分析一下角度固定下来则可以计算每个cannonball的降落坐标lnd。

因此暴力计算不同角度下的结果。

#include <cstdio>
#include "cmath"
#include "algorithm"
#define ll long long
#define dd double
#define N 205
#define g 9.8
#define eps 1e-6
const dd pi=acos(-1.0);
ll h,l1,l2,r1,r2,n;
dd v[N];
using namespace std;
int main(){
	while(scanf("%d",&n),n){
		scanf("%d%d%d%d%d",&h,&l1,&r1,&l2,&r2);
		for(int i=1;i<=n;i++)
			scanf("%lf",&v[i]);
		int lans=0;
		for(dd d=0;d<1;d+=1./360){
			int ans=0,ok=1;
			dd s=sin(d*pi);
			dd c=cos(d*pi);
			for(int i=1;i<=n;i++){
				dd vx=v[i]*s;
				dd vy=v[i]*c;
				dd t=(sqrt(2*h*g+vy*vy)-vy)/g;
				dd lnd=vx*t;
				if(lnd>=l2&&r2>=lnd){ok=0;break;}
				if(lnd>=l1&&r1>=lnd)ans++;
			}
			if(ok)lans=max(ans,lans);	
		}
		printf("%d\n",lans);
	}
}

  

【HDU 4445】Crazy Tank(暴力)

标签:

原文地址:http://www.cnblogs.com/flipped/p/5739752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!