QOJ.ac

QOJ

Time Limit: 5 s Memory Limit: 1024 MB Total points: 13

#12472. 3D 打印

Statistics

你是数据库设计日庆典组委会的成员。你负责宣传工作,想要打印三个“D”来制作比赛的标志。你可以选择任何颜色来打印它们,但所有三个“D”必须使用相同的颜色打印。

你拥有三台打印机,并将使用每台打印机打印一个“D”。所有打印机都使用来自青色、洋红色、黄色和黑色四种不同颜色墨盒的墨水来调配出任何颜色。对于这些打印机,一种颜色由四个非负整数 $c, m, y, k$ 唯一确定,它们分别表示调配该颜色所需的青色、洋红色、黄色和黑色墨水的单位数量。

打印单个“D”所需的墨水总量正好是 $10^6$ 个单位。例如,用纯黄色打印一个“D”将使用 $10^6$ 个单位的黄色墨水,而其他颜色均使用 $0$ 个单位。用 Code Jam 红色打印一个“D”使用 $0$ 个单位的青色墨水、$500000$ 个单位的洋红色墨水、$450000$ 个单位的黄色墨水和 $50000$ 个单位的黑色墨水。

要打印某种颜色,打印机必须拥有其每个墨盒所需的至少相应数量的墨水。给定每台打印机每个墨盒中的墨水单位数量,请输出任何一种颜色(定义为四个总和为 $10^6$ 的非负整数),使得所有三台打印机都有足够的墨水来打印它。

输入格式

输入的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例包含 $3$ 行。第 $i$ 行包含 $4$ 个整数 $C_i, M_i, Y_i$ 和 $K_i$,分别表示第 $i$ 台打印机墨盒中青色、洋红色、黄色和黑色墨水的单位数量。

输出格式

对于每个测试用例,输出一行 Case #x: r,其中 $x$ 是测试用例编号(从 $1$ 开始),如果没有任何颜色能被所有三台打印机打印,则 $r$ 为 IMPOSSIBLE。否则,$r$ 必须是 $c\ m\ y\ k$ 的形式,其中 $c, m, y, k$ 是总和为 $10^6$ 且对于所有 $i$ 均满足 $c \le C_i, m \le M_i, y \le Y_i, k \le K_i$ 的非负整数。

如果有多个解,你可以输出其中任意一个。(参见 FAQ 中“如果一个测试用例有多个正确解怎么办?”一节。)在 2022 年比赛的后续题目中,将不会明确说明关于多解的情况。

数据范围

$1 \le T \le 100$ $0 \le C_i, M_i, Y_i, K_i \le 10^6$,对于所有 $i$。

样例

样例输入 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

样例输出 1

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

说明

样例 1 即为上图所示的情况。所建议的颜色用尽了第一台打印机的青色、洋红色和黄色墨盒中的所有墨水,以及最后一台打印机的黑色墨盒中的所有墨水。这意味着无法再从任何墨水颜色中多使用一个单位,因此给出的样例输出是该用例唯一可能的输出。

在样例 2 中,洋红色是第一台和第二台打印机都拥有的唯一颜色,所以我们唯一的选择是使用 $10^6$ 个单位的洋红色。不幸的是,第三台打印机没有足够的墨水,使得该用例无法实现。

在样例 3 中,其他正确的输出包括:“400000 100000 100000 400000”、“300000 0 0 700000”和“350000 140000 160000 350000”等。请注意,“300000 140000 160000 700000”不是一个有效的答案,因为即使所有打印机都有足够的墨水来执行此操作,墨水总量也必须正好是 $10^6$。

Figure 1. 打印机墨水余量示意图

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.