P12980 [GCJ 2022 Qualification] 3D Printing

题目描述

你是数据库设计日庆祝活动的组委会成员之一,负责宣传工作,并计划打印三个 **D** 字来设计比赛标志。你可以选择任何颜色打印它们,但所有三个 **D** 必须使用相同的颜色。 ![](https://cdn.luogu.com.cn/upload/image_hosting/n2ye797y.png) 你拿到了三台打印机,每台将用于打印其中一个 **D**。所有打印机都使用 4 种不同颜色(青色、品红色、黄色和黑色)的独立墨盒来调配颜色。对于这些打印机,一种颜色由 4 个非负整数 $c$、$m$、$y$ 和 $k$ 唯一确定,分别表示调配该颜色所需的青色、品红色、黄色和黑色墨水的单位数。 打印单个 **D** 所需的墨水总量恰好是 $10^6$ 单位。例如,纯黄色打印一个 **D** 需要 $10^6$ 单位黄色墨水,其余颜色为 $0$;而用 Code Jam 红色打印则需要 $0$ 单位青色墨水、$500000$ 单位品红色墨水、$450000$ 单位黄色墨水和 $50000$ 单位黑色墨水。 要打印某种颜色,打印机必须在每个颜色的墨盒中至少有该颜色所需的墨水单位数。给定每台打印机各墨盒中的墨水单位数,输出任意一种满足以下条件的颜色(定义为 4 个非负整数,其和为 $10^6$):所有三台打印机均有足够墨水打印该颜色。

输入格式

输入的第一行给出测试用例的数量 $\mathbf{T}$。随后是 $\mathbf{T}$ 个测试用例。每个测试用例包含 3 行,第 $i$ 行包含 4 个整数 $\mathbf{C}_i$、$\mathbf{M}_i$、$\mathbf{Y}_i$ 和 $\mathbf{K}_i$,分别表示第 $i$ 台打印机的青色、品红色、黄色和黑色墨盒中的墨水单位数。

输出格式

对于每个测试用例,输出一行 `Case #x: r`,其中 $x$ 是测试用例编号(从 1 开始),$r$ 为 `IMPOSSIBLE`(如果不存在所有三台打印机均可打印的颜色),否则 $r$ 应为 `"c m y k"`。这里 $c$、$m$、$y$ 和 $k$ 是非负整数,满足 $c + m + y + k = 10^6$,且对于所有 $i$ 有 $c \leq \mathbf{C}_i$、$m \leq \mathbf{M}_i$、$y \leq \mathbf{Y}_i$ 和 $k \leq \mathbf{K}_i$。 若存在多组解,输出任意一组均可。

说明/提示

## 说明/提示 **样例解释** 样例 #1 对应题目描述中的图片。给出的颜色方案用尽了第一台打印机的青色、品红色和黄色墨盒的所有墨水,以及最后一台打印机的黑色墨盒的所有墨水。这意味着无法再从任何颜色的墨盒中多用一单位墨水,因此该样例输出是此案例唯一可能的解。 在样例 #2 中,品红色是前两台打印机唯一共有的颜色,因此唯一可能的方案是使用 $10^6$ 单位品红色墨水。但第三台打印机的品红色墨水不足,导致此案例无解。 在样例 #3 中,其他正确输出包括 `"400000 100000 100000 400000"`、`"300000 0 0 700000"` 和 `"350000 140000 160000 350000"` 等。注意 `"300000 140000 160000 700000"` 不是有效答案,因为尽管所有打印机均有足够墨水,但墨水单位总数必须严格等于 $10^6$。 **限制条件** **测试集 1(可见评测结果)** - $1 \leq \mathbf{T} \leq 100$。 - $0 \leq \mathbf{C}_i \leq 10^6$,对所有 $i$ 成立。 - $0 \leq \mathbf{M}_i \leq 10^6$,对所有 $i$ 成立。 - $0 \leq \mathbf{Y}_i \leq 10^6$,对所有 $i$ 成立。 - $0 \leq \mathbf{K}_i \leq 10^6$,对所有 $i$ 成立。 翻译由 DeepSeek V3 完成