#P14738. [ICPC 2021 Seoul R] Grid Triangle

[ICPC 2021 Seoul R] Grid Triangle

Description

在三维网格中,格点三角形指由三个整点构成、且其中一个整点为原点 (0,0,0)(0,0,0) 的三角形,并满足如下性质:

存在三个互不相同的正整数 X,Y,ZX, Y, Z,使得对于该三角形的任意一对顶点,都可以将一个尺寸为 X×Y×ZX \times Y \times Z 的长方体在三个坐标轴方向上平移和旋转(即把长方体的三条边分别重新对应到 x,y,zx,y,z 轴),并在保证长方体的三条边分别与对应的坐标轴平行的前提下,使得这对点恰好成为该长方体的一对对角顶点(也就是距离最远的一对顶点)

例如,由三点 (0,0,0)(0,0,0)(1,2,3)(1,2,3)(2,3,1)(-2,3,1) 构成的三角形就是一个格点三角形,其对应的长方体尺寸为 1×2×31 \times 2 \times 3。具体来说:

  • 两点 (1,2,3)(1,2,3)(2,3,1)(-2,3,1) 是长方体

    $$\{(x,y,z)\mid -2 \le x \le 1,\ 2 \le y \le 3,\ 1 \le z \le 3\}$$

    的一对对角顶点,该长方体尺寸为 3×1×23 \times 1 \times 2

  • 两点 (0,0,0)(0,0,0)(1,2,3)(1,2,3) 是长方体

    $$\{(x,y,z)\mid 0 \le x \le 1,\ 0 \le y \le 2,\ 0 \le z \le 3\}$$

    的一对对角顶点,该长方体尺寸为 1×2×31 \times 2 \times 3

  • 两点 (0,0,0)(0,0,0)(2,3,1)(-2,3,1) 是长方体

    $$\{(x,y,z)\mid -2 \le x \le 0,\ 0 \le y \le 3,\ 0 \le z \le 1\}$$

    的一对对角顶点,该长方体尺寸为 2×3×12 \times 3 \times 1

并且,这三个长方体都与网格坐标轴平行。

你的任务是:在给定边界的三维网格中,计算满足上述条件的格点三角形的数量。边界由三个正整数 A,B,CA,B,C 给出,要求三角形的所有点都必须位于集合

$$\{(x,y,z)\mid -A \le x \le A,\ -B \le y \le B,\ -C \le z \le C\}$$

之内。

Input Format

你的程序需要从标准输入读取数据。输入恰好为一行,包含三个整数 A,B,CA, B, C1A,B,C10,000,0001 \le A, B, C \le 10,000,000)。

Output Format

你的程序需要向标准输出写入数据。输出恰好一行。该行应包含在由 A,B,CA, B, C 界定的三维网格内的格点三角形的数量。

3 3 3
48
3 3 2
16
3 2 2
0

Hint

由 ChatGPT 5.2 翻译