![]() 2.TheYellow Bird: ![]() ![]()
Input
Source
|
#include<iostream>
#include<string.h>
#include<string>
#include<cmath>
#include<stdio.h>
#include<algorithm>
using namespace std;
const double g=9.8;
#define EPS 1e-8
#define REP(i,n)
for(inti=0;i<n;i++)
int main()
{
char str[8];
double H,h,Vx,Vy,t,ti,V1,V2,V3,time;
while(scanf("%lf %s",&H,str)!=EOF)
{
if(str[0]=='R')
{
scanf("%lf%lf",&Vx,&Vy);
H=H+(Vy*Vy)/(2*g);
time=Vy/g+sqrt(2*H/g);
printf("%.3lf\n",Vx*time);
}
if(str[0]=='Y')
{
scanf("%lf%lf%lf",&Vx,&Vy,&t);
H=H+(Vy*Vy)/(2*g);
time=Vy/g+sqrt(2.0*H/g);
if(t-time>=0.0) {printf("%.3lf\n",Vx*time);continue;}
if(t-(Vy/g)==0.0)
{printf("%.3lf\n",Vx*(Vy/g)+(time-t)*2*Vx);continue;}
h=H-g*(t-(Vy/g))*(t-(Vy/g))/2.0;
Vy=g*(t-(Vy/g));
ti=(sqrt(4.0*Vy*Vy+2*g*h)-2.0*Vy)/g;
printf("%.3lf\n",Vx*t+2*Vx*ti);
}
if(str[0]=='B')
{
scanf("%lf%lf%lf%lf%lf%lf",&Vx,&Vy,&t,&V1,&V2,&V3);
H=H+(Vy*Vy)/(2*g);
time=Vy/g+sqrt(2*H/g);
if(t>=time)
{
printf("%.3lf\n",Vx*time);continue;}
Vx=Vx*t;
}
}
return 0;
}