AT_caddi2019_a 球の詰め込み

题目描述

有一个 $ L \times L \times L $ 的立方体形状的容器。在这个容器里进行装填球体的游戏。 容器中的点使用直角坐标系表示,一个角点的坐标是 $ (0, 0, 0) $,与它最远的另一个顶点的坐标是 $ (L, L, L) $。 有 $ N $ 个球可以用来填充容器,分别称为球 $ 1 $、球 $ 2 $、......、球 $ N $。每个球 $ i $ 的半径为 $ R_i $。 你可以选择任意数量的球,将它们的中心放置在容器中的任意整数坐标上。 放置球时,球可以悬空,但不能超出容器边界,也不能彼此重叠(球与容器或球之间接触是允许的)。 这次球的配置得分由以下两部分组成: - 基础分:每个球 $ i $ 有一个基础分 $ P_i $,将其放入容器即可获得 $ P_i $ 分。 - 奖励分:存在 $ M $ 对球在靠近放置时可以获得额外奖励分。具体来说,给出 $ M $ 个四元组 $ (A_i, B_i, C_i, D_i) $,它表示如果球 $ A_i $ 和球 $ B_i $ 的中心之间的距离不超过 $ C_i $,则可以得到 $ D_i $ 的奖励分。 请尽量提高你的总得分。不需要找到最优解。

输入格式

输入为: > $ L $ $ N $ $ M $ $ R_1 $ $ P_1 $ $ R_2 $ $ P_2 $ $ : $ $ R_N $ $ P_N $ $ A_1 $ $ B_1 $ $ C_1 $ $ D_1 $ $ A_2 $ $ B_2 $ $ C_2 $ $ D_2 $ $ : $ $ A_M $ $ B_M $ $ C_M $ $ D_M $

输出格式

对每个球 $ i $ 的中心坐标 $ (X_i, Y_i, Z_i) $,输出以下格式。如果某个球不放在容器内,则其中心坐标应输出为 $ (-1, -1, -1) $。 > $ X_1 $ $ Y_1 $ $ Z_1 $ $ X_2 $ $ Y_2 $ $ Z_2 $ $ : $ $ X_N $ $ Y_N $ $ Z_N $ 以下情况会被判定为 *Wrong Answer*: - 输出格式不正确(包括 $ X_i, Y_i, Z_i $ 中任一值不是整数)。 - 球超出容器边界,即对于放置在容器内的球 $ i $,如果 $ X_i - R_i $, $ Y_i - R_i $, $ Z_i - R_i $ 中任一值小于 $ 0 $,或 $ X_i + R_i $, $ Y_i + R_i $, $ Z_i + R_i $ 中任一值大于 $ L $。 - 球之间有重叠,即对于放置在容器内的任意两个球 $ i $ 和 $ j $($ i < j $),若球 $ i $ 和球 $ j $ 的中心之间的距离小于 $ R_i + R_j $。 ## 数据范围 - $ L = 1000 $ - $ N = 1000 $ - $ M = 100000 $ - $ 1 \leq R_i \leq 200 $ - $ 1 \leq P_i \leq 80000 $ - $ 1 \leq A_i < B_i \leq N $ - $ 1 \leq C_i \leq 600 $ - $ 1 \leq D_i \leq 80000 $ 输入中的所有值都是整数。 **本翻译由 AI 自动生成**

说明/提示

### 制約 - $ L\ =\ 1000 $ - $ N\ =\ 1000 $ - $ M\ =\ 100000 $ - $ 1\ ≦\ R_i\ ≦\ 200 $ - $ 1\ ≦\ P_i\ ≦\ 80000 $ - $ 1\ ≦\ A_i\ \ B_i $ であれば $ A_i $ と $ B_i $ の値を入れ替える。 - $ C_i $ は、$ R_{A_i}\ +\ R_{B_i}\ +\ 1 $ 以上 $ R_{A_i}\ +\ R_{B_i}\ +\ 200 $ 以下の整数としてランダムに決定される。 - $ D_i $ は、$ 1 $ 以上 $ 2R_{A_i}R_{B_i} $ 以下の整数としてランダムに決定される。 ### 採点 単一のテストケースにおける点数は、問題文で述べたように基礎点とボーナス点の総和として算出される。 テストケースは $ 50 $ ケース与えられ、すべてのテストケースの点数の総和がその提出の得点となる。 なお、テストケース example\_01 以外で $ 1 $ ケースでも出力が *Wrong Answer* と判定された場合、example\_01 以外のケースの点数はすべて $ 0 $ 点となる。 ### サンプルコード (C++) [サンプルコード](https://img.atcoder.jp/caddi2019/9ba3e86cb2b7fc70ac58060984a01872.zip) このコードをそのまま提出しても構いません。 ### Sample Explanation 1 \[入出力例(zip)\](https://img.atcoder.jp/caddi2019/8a480af5f45398c148881593a68ffe14.zip)