zoukankan      html  css  js  c++  java
  • 【HDU 4445】Crazy Tank(暴力)

    高中物理斜抛运动,简单分析一下角度固定下来则可以计算每个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
    ",lans);
        }
    }

      

  • 相关阅读:
    PG-日常管理
    PG-高可用(pgpool-Ⅱ)
    PG-基准测试
    PG-备份恢复
    PG-并发问题
    Go-常量
    Go-变量
    Oracle-11g升级PSU补丁
    Oracle-`sqlplus`工具使用技巧
    [CF1051F] The Shortest Statement
  • 原文地址:https://www.cnblogs.com/flipped/p/5739752.html
Copyright © 2011-2022 走看看