AT_caddi2019_a.球の詰め込み
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个 $ 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 自动生成
输入解题思路,AI测评打分。不知道怎么写?