만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

두 물통

면접 대비

시간 제한2초메모리 제한512 MB

요약
용량이 a와 b인 두 물통으로 물을 채우고 비우고 붓는 과정을 반복해 한 물통에 정확히 c리터를 남길 수 있는지 판정한다.
난이도

보통10점 중 5점

유형
수학, 정수론, 시뮬레이션
정답자
아직 제출이 없습니다

문제

용량이 각각 aa리터, bb리터인 물통이 두 개 있다. 물은 무한히 많고, 다음 세 가지 동작을 원하는 만큼 반복할 수 있다.

  • 물통 하나를 가득 채운다.
  • 물통 하나를 완전히 비운다.
  • 한 물통의 물을 다른 물통에 붓는다. 붓는 쪽이 비거나 받는 쪽이 가득 찰 때까지 붓는다.

두 물통 중 하나에 물이 정확히 cc리터 담긴 상태를 만들 수 있는지 판정하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. (1≤T≤100001 \le T \le 10000)

둘째 줄부터 TT개의 줄에 테스트 케이스가 한 줄에 하나씩 주어진다. 각 줄은 세 정수 aa, bb, cc로 이루어진다. (1≤a,b,c≤1091 \le a, b, c \le 10^9)

출력

각 테스트 케이스마다 한 줄씩, 정확히 cc리터를 만들 수 있으면 YES를, 만들 수 없으면 NO를 출력한다.

힌트

a=5a = 5, b=3b = 3, c=4c = 4인 경우 다음 순서로 4리터를 만든다.

  • aa를 가득 채운다. (a=5a = 5, b=0b = 0)
  • aa의 물을 bb에 붓는다. (a=2a = 2, b=3b = 3)
  • bb를 비우고 aa의 물을 bb에 붓는다. (a=0a = 0, b=2b = 2)
  • aa를 가득 채운다. (a=5a = 5, b=2b = 2)
  • aa의 물을 bb에 붓는다. (a=4a = 4, b=3b = 3)

예제5

  1. 예제 1

    입력
    2
    5 3 4
    3 6 4
    
    예상 출력
    YES
    NO
    
  2. 예제 2

    입력
    1
    1 1 1
    
    예상 출력
    YES
    
  3. 예제 3

    입력
    5
    4 6 6
    4 6 4
    4 6 2
    4 6 8
    4 6 10
    
    예상 출력
    YES
    YES
    YES
    NO
    NO
    
  4. 예제 4

    입력
    4
    5 5 5
    5 5 3
    5 5 10
    5 5 1
    
    예상 출력
    YES
    NO
    NO
    NO
    
  5. 예제 5

    입력
    6
    3 7 1
    3 7 2
    3 7 3
    3 7 7
    3 7 8
    7 3 5
    
    예상 출력
    YES
    YES
    YES
    YES
    NO
    YES