Google Code Jam '22 Qualification Round Problem B - 3D Printing

View as PDF

Submit solution


Points: 5 (partial)
Time limit: 5.0s
Memory limit: 1G

Problem types

You are part of the executive committee of the Database Design Day festivities. You are in charge of promotions and want to print three D's to create a logo of the contest. You can choose any color you want to print them, but all three have to be printed in the same color.

You were given three printers and will use each one to print one of the D's. All printers use ink from 4 individual cartridges of different colors (cyan, magenta, yellow, and black) to form any color. For these printers, a color is uniquely defined by 4 non-negative integers c, m, y, and k, which indicate the number of ink units of cyan, magenta, yellow, and black ink (respectively) needed to make the color.

The total amount of ink needed to print a single D is exactly 10^6 units. For example, printing a D in pure yellow would use 10^6 units of yellow ink and 0 from all others. Printing a D in the Code Jam red uses 0 units of cyan ink, 500\,000 units of magenta ink, 450\,000 units of yellow ink, and 50\,000 units of black ink.

To print a color, a printer must have at least the required amount of ink for each of its 4 color cartridges. Given the number of units of ink each printer has in each cartridge, output any color, defined as 4 non-negative integers that add up to 10^6, such that all three printers have enough ink to print it.

Input Specification

The first line of the input gives the number of test cases, T. T test cases follow. Each test case consists of 3 lines. The i^\text{th} line of a test case contains 4 integers C_i, M_i, Y_i, and K_i, representing the number of ink units in the i^\text{th} printer's cartridge for the colors cyan, magenta, yellow, and black, respectively.

Output Specification

For each test case, output one line containing Case #x: r, where x is the test case number (starting from 1) and r is IMPOSSIBLE if there is no color that can be printed by all 3 printers. Otherwise, r must be equal to "c\ m\ y\ k" where c, m, y, and k are non-negative integers that add up to 10^6 and c \le C_i, m \le M_i, y \le Y_i, and k \le K_i, for all i.

Limits

1 \le T \le 100.

0 \le C_i \le 10^6, for all i.

0 \le M_i \le 10^6, for all i.

0 \le Y_i \le 10^6, for all i.

0 \le K_i \le 10^6, for all i.

Sample Input

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

Sample Output

Case #1: 300000 200000 300000 200000
Case #2: IMPOSSIBLE
Case #3: 400001 100002 100003 399994

Explanation for Sample

Sample Case #1 is the image provided above. The proposed color is using up all of the ink in the cyan, magenta, and yellow cartridges of the first printer and all of the ink in the black cartridge of the last printer. This means that no additional unit of ink could be used from any of the 4 ink colors, so the given sample output is the only possible output for this case.

In Sample Case #2, magenta is the only color that both the first and second printers have, so our only chance would be to use 10^6 units of magenta. Unfortunately, the third printer does not have quite enough, making this case impossible.

In Sample Case #3, other correct outputs are: 400000 100000 100000 400000, 300000 0 0 700000, and 350000 140000 160000 350000, among lots of others. Notice that 300000 140000 160000 700000 would not be a valid answer because, even though there is enough ink in all printers to do that, the total number of ink units must be exactly 10^6.


Comments

There are no comments at the moment.