AT_arc013_4.[ARC013D] 切り分けできるかな?

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

高桥君在路边捡到了一块铁块,他计划将其切割成各种砝码。这种铁块十分特别,每 1cm31 \text{cm}^3 重 1g1\text{g}。为了与朋友青木君共享,他希望能制作出多种类的砝码。然而,由于手艺不够精湛,每块铁块只能切一次。以下是切割规则:

  • 切割后铁块的每一边都必须是整数。
  • 只能从三个垂直于边的方向水平切割,不可以斜切。
  • 每个铁块只能被切一次,不可再对新形成的小铁块进行二次切割。

已知铁块的种类和尺寸,问高桥君和青木君各自制作一系列不同重量的砝码所需的铁块数是多少。输入格式如下:

NN
X1X_1 Y1Y_1 Z1Z_1
X2X_2 Y2Y_2 Z2Z_2
...
XNX_N YNY_N ZNZ_N

其中,第一行的整数 N(1≤N≤100)N (1 \leq N \leq 100) 表示铁块的种类数。随后的 NN 行,每行三个整数 Xi,Yi,Zi(1≤Xi,Yi,Zi≤20)X_i, Y_i, Z_i (1 \leq X_i, Y_i, Z_i \leq 20),分别代表第 ii 个铁块的长、宽和高。

若只对 N=1N = 1 的情况做出正确解答,可得部分分数(20 分)。

示例输入与输出

  • 输入:

    2
    3 4 5
    2 3 4
    
  • 输出:

    13
    

从尺寸为 3×4×53 \times 4 \times 5 的铁块中,可以通过在不同面进行水平切割得到重量不同的砝码:

  • 在 3×43 \times 4 的面上切割,得到 12, 24, 36, 48;
  • 在 3×53 \times 5 的面上切割,得到 15, 30, 45;
  • 在 4×54 \times 5 的面上切割,得到 20, 40;

此铁块可形成 9 种不同的砝码。

从尺寸为 2×3×42 \times 3 \times 4 的铁块中,可以得到:

  • 在 2×32 \times 3 的面上切割,得到 6, 12, 18;
  • 在 2×42 \times 4 的面上切割,得到 8, 16;
  • 在 3×43 \times 4 的面上切割,得到 12;

此铁块可形成 5 种不同的砝码。

两组砝码合在一起,共有 13 种不同重量。为了保证高桥君和青木君各自都拥有一套完整的砝码,共需要 13 个铁块。

输入格式

第一行输入一个整数 N(1≤N≤100)N (1 \leq N \leq 100),代表铁块的种类数。接下来 NN 行,每行包含三个整数 Xi,Yi,Zi(1≤Xi,Yi,Zi≤20)X_i, Y_i, Z_i (1 \leq X_i, Y_i, Z_i \leq 20),表示第 ii 个铁块的长、宽和高。

输出格式

输出一个整数,表示制作完整套砝码所需铁块的最小数目。输出末尾需换行。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页