만드는 중입니다

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

3D 프린팅

면접 대비

시간 제한5초메모리 제한1024 MB

요약
각 테스트 케이스에서 세 프린터가 모두 보유한 범위 안에서 네 잉크 양의 합이 정확히 100만이 되게 정하고, 불가능하면 IMPOSSIBLE을 출력합니다.
난이도

쉬움10점 중 3점

유형
그리디, 구현
정답자
아직 제출이 없습니다

문제

당신은 Database Design Day 행사의 운영위원회 일원이다. 홍보를 맡고 있으며, 대회 로고로 쓸 D 세 개를 인쇄하려 한다. 세 D는 원하는 색으로 인쇄할 수 있지만 모두 같은 색이어야 한다.

프린터 세 대가 주어지고, 각 프린터로 D 하나씩을 인쇄한다. 모든 프린터는 시안, 마젠타, 옐로, 블랙의 서로 다른 색 잉크 카트리지 네 개에 든 잉크로 색을 만든다. 이 프린터에서 색은 그 색을 만드는 데 필요한 시안, 마젠타, 옐로, 블랙 잉크의 단위 수를 나타내는 음이 아닌 정수 cc, mm, yy, kk 네 개로 유일하게 정의된다.

D 하나를 인쇄하는 데 필요한 잉크의 총량은 정확히 10610^6 단위이다. 예를 들어 D를 순수한 노란색으로 인쇄하면 노란 잉크 10610^6 단위를 쓰고 다른 잉크는 0 단위를 쓴다. D를 Code Jam 빨간색으로 인쇄하면 시안 잉크 0 단위, 마젠타 잉크 500000 단위, 옐로 잉크 450000 단위, 블랙 잉크 50000 단위를 쓴다.

어떤 색을 인쇄하려면 프린터의 색 카트리지 네 개 각각에 그 색에 필요한 양 이상의 잉크가 있어야 한다. 각 프린터의 각 카트리지에 든 잉크 단위 수가 주어질 때, 세 프린터 모두 그 색을 인쇄할 만큼 충분한 잉크를 가진 색을 하나 출력하라. 색은 합이 10610^6인 음이 아닌 정수 네 개로 정의한다.

입력

입력의 첫 줄에는 테스트 케이스 수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다. 각 테스트 케이스는 세 줄로 이루어진다. 테스트 케이스의 ii번째 줄에는 ii번째 프린터의 시안, 마젠타, 옐로, 블랙 카트리지에 든 잉크 단위 수를 나타내는 정수 CiC_i, MiM_i, YiY_i, KiK_i가 주어진다.

출력

각 테스트 케이스에 대해 Case #x: r 형식의 한 줄을 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이다. 세 프린터 모두 인쇄할 수 있는 색이 없으면 rr은 IMPOSSIBLE이다. 그렇지 않으면 rr은 cc mm yy kk여야 한다. 여기서 cc, mm, yy, kk는 합이 10610^6인 음이 아닌 정수이고, 모든 ii에 대해 c≤Cic \le C_i, m≤Mim \le M_i, y≤Yiy \le Y_i, k≤Kik \le K_i를 만족한다. 정답이 여러 개면 그중 아무거나 출력해도 된다.

힌트

예제 케이스 #1은 위에 제시된 그림이다. 제안된 색은 첫 번째 프린터의 시안, 마젠타, 옐로 카트리지에 든 잉크를 모두 사용하고 마지막 프린터의 블랙 카트리지에 든 잉크를 모두 사용한다. 따라서 잉크 색 네 가지 중 어느 것에서도 잉크를 한 단위 더 쓸 수 없으므로, 주어진 예제 출력은 이 케이스의 유일한 가능한 출력이다.

예제 케이스 #2에서 마젠타는 첫 번째와 두 번째 프린터가 모두 가진 유일한 색이므로, 유일한 가능성은 마젠타 10610^6 단위를 쓰는 것이다. 아쉽게도 세 번째 프린터에는 그만큼의 마젠타 잉크가 없어서 이 케이스는 불가능하다.

예제 케이스 #3에서 다른 정답으로는 400000 100000 100000 400000, 300000 0 0 700000, 350000 140000 160000 350000 등이 많이 있다. 300000 140000 160000 700000은 모든 프린터에 그 양을 인쇄할 잉크가 충분하더라도 잉크 단위 수의 합이 정확히 10610^6이어야 하므로 유효한 정답이 아니다.

예제1

  1. 예제 1

    입력
    3
    300000 200000 300000 500000
    300000 200000 500000 300000
    300000 500000 300000 200000
    1000000 1000000 0 0
    0 1000000 1000000 1000000
    999999 999999 999999 999999
    768763 148041 178147 984173
    699508 515362 534729 714381
    949704 625054 946212 951187
    
    예상 출력
    Case #1: 300000 200000 300000 200000
    Case #2: IMPOSSIBLE
    Case #3: 400001 100002 100003 399994