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

강재원·2022년 10월 23일
0

[코딩테스트] C/C++

목록 보기
144/200



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

#include<stdio.h>
#include<string.h>
#include <math.h>
static double f(double x,double k,double a){
    return -(a*x/k)+a;
}
int main() {
    double x,y,c;
    scanf("%lf %lf %lf",&x,&y,&c);
    double l=0;
    double r=x<y?x:y;
    
    for(int i=0;i<100;i++){
        double k=(r+l)/2;
        double a=sqrt(x*x-k*k);
        double b=sqrt(y*y-k*k);
        double c0=k*c/b;
        
        if(f(c0,k,a)>c) l=k;
        else r=k;
    }
    printf("%.3lf",l);
}
profile
개념정리 & 문법 정리 & 알고리즘 공부

0개의 댓글