#CF2041C. 立方体
立方体
C. 立方体
- 时间限制:每个测试点 3 秒
- 内存限制:1024 MB

你有一个 的三维立方体,里面包含 个整数。
你需要从中选出 个数,使得它们的和尽可能小。
但是,禁止选择位于同一平面内的两个数。具体来说,如果我们用三个笛卡尔坐标 来表示立方体中的位置,则选择位置 和 的两个数是禁止的,如果:
或 或 。
换句话说,不允许有两个选出的数在任何一维上坐标相同,相当于选出的 个数的 坐标互不相同, 坐标互不相同, 坐标互不相同(即构成了一个 皇后问题在三维中的变体,但这里皇后是所有格点)。
输入格式
第一行是一个整数 。
接下来有 行,每行有 个整数。
这些行对应立方体的每一层(按 、 顺序给出)。
更准确地说,对于每个 (),位于位置 的数出现在:
- 行号 =
- 该行的第 个数
约束:
- 立方体内所有数均为 到 之间的整数。
输出格式
输出一个整数,表示符合上述规则选出的 个数的最小可能和。
样例
输入
3
1 2 3
4 5 6
7 8 9
1 1 1
2 2 2
3 3 3
4 3 0
2 1 4
9 8 9
输出
5