아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

정육면체

시간 제한10초메모리 제한128 MB

요약
W, L, H가 정수인 목재를 한 변이 정수인 정육면체로 나누는 최소 절단 횟수에 해당하는 조각 개수를 구합니다.
난이도

보통10점 중 6점

유형
동적 계획법, 재귀
정답자
아직 제출이 없습니다

문제

WoodArt는 나무로 다양한 조각품을 만드는 회사이다. 이 회사의 조각가 Mr. Kube는 여러 크기의 정육면체 나무 조각만으로 조형물을 만들려고 한다.

WoodArt에 공급되는 원목은 가로, 세로, 높이가 각각 WW, LL, HH인 직육면체이다. Mr. Kube는 이 원목을 잘라 모든 조각이 정육면체가 되도록 만든다. 한 번의 절단은 나무 한 조각을 두 개의 직육면체로 나누는 것이며, 이렇게 얻은 각 직육면체를 다시 자르는 과정을 모든 조각이 정육면체가 될 때까지 반복한다. Mr. Kube는 모든 조각이 정육면체가 될 때까지 자르되, 절단 횟수를 최소로 하고 싶어한다.

원목의 크기 WW, LL, HH는 각각 11 이상 200200 이하의 정수이며, 최종적으로 얻는 모든 정육면체의 한 변의 길이도 11 이상의 정수가 되도록 자른다.

자르는 과정에서 생기는 길이 손실은 무시한다. 즉, 크기가 W×L×HW \times L \times H인 조각을 잘라 크기가 W×L×H1W \times L \times H_1과 W×L×H2W \times L \times H_2인 두 조각을 얻으면 H=H1+H2H = H_1 + H_2이다. WW와 LL 방향에 대해서도 마찬가지이다.

입력

입력은 표준 입력으로 주어진다. 첫 줄에 테스트 케이스의 개수 TT (1≤T≤201 \le T \le 20)가 주어진다. 이어지는 각 테스트 케이스마다 원목의 크기를 나타내는 세 정수 WW, LL, HH (1≤W,L,H≤2001 \le W, L, H \le 200)가 한 줄에 주어진다.

출력

각 테스트 케이스마다, 절단 횟수를 최소로 하여 잘랐을 때 생기는 정육면체 조각의 개수를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    3
    15 5 5
    2 4 3
    5 6 6
    
    예상 출력
    3
    10
    13