저울

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

요약
두 종류의 추 무게와 측정할 약의 양이 주어질 때, 저울 양쪽에 추를 올려 균형을 맞추면서 개수가 최소이고 그 다음 총 무게가 최소인 조합을 구합니다.
난이도

보통10점 중 6점

유형
정수론, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

원웅이는 두 종류의 추와 양팔저울을 이용해 아스피린의 양을 재려고 한다. 각 종류의 추는 무수히 많이 가지고 있고, 약은 가루 형태여서 원하는 만큼 나눠 올릴 수 있다.

예를 들어 무게가 300300mg인 추와 700700mg인 추가 있고 200200mg의 아스피린을 재려고 한다면, 한쪽 접시에 300300mg 추 33개를 올리고 반대쪽 접시에 700700mg 추 11개를 올린 뒤, 700700mg 추가 있는 쪽에 약을 올려 저울이 평형을 이루게 하면 된다. (300×3=700×1+200300 \times 3 = 700 \times 1 + 200)

또는 한쪽에 700700mg 추 22개, 다른 쪽에 300300mg 추 44개를 올린 뒤 300300mg 추가 있는 쪽에 약을 올려도 평형을 이룰 수 있다. (700×2=300×4+200700 \times 2 = 300 \times 4 + 200) 이처럼 같은 양을 재는 방법은 여러 가지일 수 있다.

추 두 종류의 무게와 재려는 아스피린의 양이 주어질 때, 각 종류의 추를 몇 개씩 사용하면 그 양을 잴 수 있는지 구하여라. 추는 양쪽 접시 어디에나 올릴 수 있고, 약은 한쪽 접시에만 올린다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 세 정수 aa, bb, dd가 공백으로 구분되어 주어진다.

aa와 bb는 원웅이가 가진 두 추의 무게이고, dd는 재려는 약의 양이다. aa와 bb는 서로 다르며, 둘 다 1000010000 이하의 자연수이다. dd는 5000050000 이하의 자연수이다. 항상 답이 존재한다.

aa, bb, dd가 모두 00인 줄이 입력의 끝을 나타낸다.

출력

각 테스트 케이스마다 두 정수 xx와 yy를 공백으로 구분해 한 줄에 출력한다. xx는 무게가 aa인 추의 개수, yy는 무게가 bb인 추의 개수이며 다음 세 조건을 만족해야 한다.

  1. 무게가 aa인 추 xx개와 무게가 bb인 추 yy개로 ddmg의 약을 저울로 정확히 잴 수 있어야 한다.
  2. 조건 1을 만족하는 방법이 여럿이면, 사용한 추의 총 개수 x+yx + y가 가장 작은 것을 고른다.
  3. 조건 2까지 만족하는 방법이 여럿이면, 추의 총 무게 ax+bya x + b y가 가장 작은 것을 고른다.

예제1

  1. 예제 1

    입력
    700 300 200
    500 200 300
    500 200 500
    275 110 330
    275 110 385
    648 375 4002
    3 1 10000
    0 0 0
    
    예상 출력
    1 3
    1 1
    1 0
    0 3
    1 1
    49 74
    3333 1