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

CF C. Fly

时间:2018-07-31 17:09:05      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:can   ber   计算公式   --   个数   答案   hid   isp   ORC   

题目

题目大意:第一行给出一个数n,代表有n个点,第二行给出火箭的自重,第三行给出每个点去时每吨需要的燃料,第四行给出每个点返程时每吨需要的燃料。求出发时携带的最小燃料数

分析:这题我们只要逆向思维就很好的可以解决答案了,我们知道要携带的燃料是最少的话,那就是到达火星回来地球的时候,燃料一定为零,那我们就从最后一站开始计算 ,根据计算公式 消耗的燃料x=(x+s)/a[i] , 当前的火箭重量为 x=s/*(a[i]-1),s+=x;

若ai或者bi若等于1,消耗与载重1:1:(飞到了就耗完燃料)

技术分享图片
#include<stdio.h>
int a[1001],b[1001];
int main( )
{
    int n,fa=0;
    double s,sum=0,x;
    scanf("%d%lf",&n,&s);
    for(int i=0 ; i<n ; i++)
    {
        scanf("%d",&a[i]);
        if(a[i]<=1)
        fa=1;
    }
    for(int i=0 ; i<n ; i++)
    {
        scanf("%d",&b[i]);
        if(b[i]<=1)
        fa=1;
    }
    if(fa==1)
    {
        printf("-1\n");
        return 0;
    }

    for(int i=n-1 ; i>=0 ; i--)
    {
        x=s/(a[i]-1),s+=x,sum+=x;
        x=s/(b[i]-1),s+=x,sum+=x;
    }
     printf("%.10f\n",sum);
}
View Code

 

CF C. Fly

标签:can   ber   计算公式   --   个数   答案   hid   isp   ORC   

原文地址:https://www.cnblogs.com/shuaihui520/p/9396300.html

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