가장 적은 정사각형으로 자르기
면접 대비시간 제한2초메모리 제한256 MB
주어진 w 곱하기 h 직사각형을 정수 변의 정사각형으로 빈틈없이 채울 때 필요한 최소 개수를 각 테스트마다 구한다.
문제
변의 길이가 모두 정수인 직사각형을 변의 길이가 정수인 정사각형으로 자른다. 정사각형끼리는 겹치지 않고, 모두 합치면 직사각형을 빈틈없이 덮으며, 각 변은 직사각형의 변과 평행하다.
이렇게 자를 때 필요한 정사각형의 최소 개수를 구한다.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다 ().
다음 개의 줄에는 각 테스트 케이스의 직사각형 두 변의 길이 와 가 공백으로 구분되어 주어진다 ().
서로 다른 두 테스트 케이스의 변 길이 쌍은 같지 않다. 즉 이면 또는 이다.
출력
각 테스트 케이스마다 직사각형을 자르는 데 필요한 정사각형의 최소 개수를 입력 순서대로 한 줄에 하나씩 출력한다. 자르는 방법 자체는 출력하지 않는다.
힌트

직사각형은 한 변이 3, 2, 1, 1인 정사각형으로 나뉘므로 4개면 된다.

직사각형은 한 변이 2인 정사각형 3개와 한 변이 3인 정사각형 2개로 나뉜다. 한 변이 5인 정사각형을 먼저 잘라내면 띠가 남아 모두 6개가 되므로, 가장 큰 정사각형부터 잘라내는 방법이 늘 최선은 아니다.

직사각형은 그 자체가 정사각형이다.