1. 程式人生 > >Codeforces Round #499 (Div. 2) C. Fly(java)

Codeforces Round #499 (Div. 2) C. Fly(java)

型別:模擬
題意:從地球起飛->星球1降落->星球1起飛->星球2起飛->······->星球n-1起飛->地球降落
題解:逆過程模擬,如果費用存在<=1的就直接輸出-1


import java.util.Scanner;

public class C {
    public static void main(String[] args) {
        Scanner kb = new Scanner(System.in);
        int n=kb.nextInt();
        double sum=kb.nextDouble();
        double
sum1=0; double aa; double a[]=new double[n]; double b[]=new double[n]; boolean pd=false; for(int i=0;i<n;i++) { a[i]=kb.nextDouble(); if(a[i]<1.1)pd=true; } for(int i=0;i<n;i++) { b[i]=kb.nextDouble(); if
(b[i]<1.1)pd=true; } if(pd) { System.out.println(-1); return; } aa=sum/(b[0]-1); sum1+=aa; sum+=aa; for(int i=n-1;i>0;i--) { aa=sum/(a[i]-1); sum1+=aa; sum+=aa; aa=sum/(b[i]-1
); sum1+=aa; sum+=aa; } aa=sum/(a[0]-1); sum1+=aa; sum+=aa; System.out.println(sum1); kb.close(); } }