hdu 3940

#include<stdio.h>
#include<math.h>
#include<string.h>
double first(double vx,double vy,double h) {
    return vx*(vy+sqrt(vy*vy+19.6*h))/9.8;
}
double nowh(double h,double vy,double t) {
    return h+vy*t-4.9*t*t;
}
int main() {
    double  k,h,vx,vy,v1,v2,v3,h1,h2,t;
    char s[30];
    while(scanf("%lf%s",&h,s)!=EOF) {
        if(strcmp(s,"Red")==0) {
            scanf("%lf%lf",&vx,&vy);
            printf("%.3f\n",first(vx,vy,h));
            continue;
        }
            if(strcmp(s,"Yellow")==0) {
            scanf("%lf%lf%lf",&vx,&vy,&t);
          if(first(vx,vy,h)<vx*t) {
             printf("%.3f\n",first(vx,vy,h));
             continue;
    }
        h1=nowh(h,vy,t);
        h2=vx*t;
        vy=vy-9.8*t;
        printf("%.3f\n",h2+first(2*vx,2*vy,h1));
        continue;
            }
            if(strcmp(s,"Blue")==0){
                scanf("%lf%lf%lf%lf%lf%lf",&vx,&vy,&t,&v1,&v2,&v3);
                if(first(vx,vy,h)<vx*t) {
                printf("%.3f\n",first(vx,vy,h));
                continue;
                }
                 h1=nowh(h,vy,t);
                 h2=vx*t;
                 vy=vy-9.8*t;
    printf("%.3f %.3f %.3f\n",h2+first(v1,vy,h1),h2+first(v2,vy,h1),h2+first(v3,vy,h1));
            }
    }
    return 0;
}

//一个博客地址帮助你理解http://blog.sina.com.cn/s/blog_c0519a300101dr2w.html

转载于:https://www.cnblogs.com/thefirstfeeling/p/4410999.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值