Algorithm

[021] 1166.선물

JEE-JEEE 2024. 2. 28. 15:07

 

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

 

1166번: 선물

민식이는 아이들에게 선물할 같은 크기의 작은 박스를 N개 가지고 있다. 모든 작은 박스는 정육면체이고, 크기는 A × A × A 이다. 민식이는 이 작은 박스를 크기가 L × W × H 인 직육면체 박스에

www.acmicpc.net

 


 

풀이

직육면체의 박스에 정육면체를 집어넣는 문제이다.

우선, 기준이 될 셋 중 가장 큰 길이를 가져온다. (이것이 기준 길이가 된다)

그리고 이것의 크기를 비교하여 작거나 클 경우의 값을 대입한다.

 

    public void q1166(){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int l = sc.nextInt();
        int w = sc.nextInt();
        int h = sc.nextInt();

        double s = 0;
        double f = Math.max(Math.max(l, w), h);

        for(int i = 0 ; i < 10000 ; ++i){
            double m = (s + f) / 2;
            if((long)(l/m) * (long)(w/m) * (long)(h/m) >= n){
                s = m;
            }else{
                f = m;
            }
        }
        System.out.println(f);
    }