Problem C Careful Ascent

数学问题。

在不经过shield时,竖直速度是1.所以时间就是y/1=y,,,,在经过shield时,时间为shield的数值长度*影响因素,然后总时间把他们加起来,最后再用水平方向的长度除以总时间,还有就是这个题目要用double。

#include<bits/stdc++.h>
using namespace std;
void solve(){
    double x,y,x1,y1,a,b=0;
    scanf("%lf%lf",&x,&y);
    int t;
    scanf("%d",&t);
    for(int i=1;i<=t;i++) {
        scanf("%lf%lf%lf",&x1,&y1,&a);
        y-=y1-x1;
        b+=(y1-x1)*a;
    }
    b+=y*1.0;
    double cc=x/b;
    printf("%.11lf\n",cc);
} 
int main(){
    solve();
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/Accepting/p/11628934.html