[백준] 2022번 : 사다리 - C#

강재원·2022년 10월 23일
0

[코딩테스트] C#

목록 보기
144/200



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

using System;

class Program
{
    static double f(double x,double k, double a){
        return -(a*x/k)+a;
    }
    static void Main() {
        string[] s=Console.ReadLine().Split(' ');
        double x=double.Parse(s[0]);
        double y=double.Parse(s[1]);
        double c=double.Parse(s[2]);
        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;
        }
        Console.Write("{0:F3}",l);
    }
}
profile
개념정리 & 문법 정리 & 알고리즘 공부

0개의 댓글