비 오는 날
면접 대비시간 제한1초메모리 제한1024 MB
학생 N명, 우산 M개, 우산 하나에 최대 K명이 탈 수 있을 때 모든 학생이 건너가는 최소 시행 횟수를 구하고, 불가능하면 -1을 출력한다.
문제
비 오는 날 명의 학생이 창의인재관에서 융합인재관으로 건너가려고 한다. 창의인재관에는 개의 우산이 있고, 융합인재관에는 우산이 없다. 한 우산은 한 번에 최대 명까지 쓸 수 있다. 학생들은 다음 시행을 반복해 건너갈 수 있다.
- 한 건물에 있는 학생 중 몇 명이 우산을 쓰고 다른 건물로 넘어간다. 이때, 모두가 같은 우산을 쓸 필요는 없다.
- 아무도 쓰고 있지 않은 우산은 학생들이 제한 없이 들고 갈 수 있다. 예를 들어, 1명의 학생이 1개의 우산을 쓰고 3개의 우산을 들고 가는 것이 가능하다.
모든 학생이 비를 맞지 않고 융합인재관으로 건너갈 수 있는지 판별하여라. 만약 건너갈 수 있다면, 모든 학생이 건너가기 위한 시행의 최소 횟수를 구하여라. 단, 모든 우산을 융합인재관으로 가지고 올 필요는 없다.
엄밀히 말해, 4개의 정수로 이루어진 순서쌍 가 주어진다. 이는 현재 창의인재관에 있는 학생이 명, 창의인재관에 있는 우산이 개, 융합인재관에 있는 학생이 명, 융합인재관에 있는 우산이 개라는 뜻이다. 초기에 , , 이며, 최소 횟수의 시행을 통해 으로 만들어야 한다. 시행은 다음 행동 중 하나를 하는 것으로 정의된다.
- 두 양의 정수 , 를 선택하여 순서쌍 를 로 바꾼다. 이는 창의인재관에서 명의 학생이 개의 우산을 이용하여 융합인재관으로 이동한다는 뜻이다. 이때, 와 와 이어야 한다.
- 두 양의 정수 , 를 선택하여 순서쌍 를 로 바꾼다. 이는 융합인재관에서 명의 학생이 개의 우산을 이용하여 창의인재관으로 이동한다는 뜻이다. 이때, 와 와 이어야 한다.
입력
첫 번째 줄에 테스트 케이스의 개수 가 주어진다.
다음 개의 줄 중 번째 줄에는 번째 테스트 케이스를 나타내는 세 정수 , , 가 띄어쓰기를 사이에 두고 주어진다.
출력
개의 줄에 걸쳐, 번째 줄에는 번째 테스트 케이스의 답에 해당하는 정수 1개를 출력한다. 모든 학생이 융합인재관으로 건너갈 수 있다면 모든 학생이 건너가기 위한 시행의 최소 횟수를 출력하고, 그렇지 않다면 -1을 출력한다.