[백준] 2022번 : 사다리 - Java(자바)

강재원·2022년 10월 23일
0

[코딩테스트] Java

목록 보기
144/200



https://www.acmicpc.net/problem/2022

import java.util.Scanner;
public class Main {
    static double f(double x, double k, double a){
        return -(a*x/k)+a;
    }
    public static void main(String args[]) {
        Scanner s=new Scanner(System.in);
        double x=s.nextFloat();
        double y=s.nextFloat();
        double c=s.nextFloat();
        double l=0;
        double r=x<y?x:y;
        
        for(int i=0;i<100;i++){
            double k=(r+l)/2;
            double a=Math.sqrt(x*x-k*k);
            double b=Math.sqrt(y*y-k*k);
            double c0=k*c/b;
            
            if(f(c0,k,a)>c) l=k;
            else r=k;
        }
        
        System.out.format("%.3f",l);
    }
}
profile
개념정리 & 문법 정리 & 알고리즘 공부

0개의 댓글