#B1353. 长方体切割

长方体切割

【题目描述】

有一个长、宽、高分别为 n,m,kn,m,k 的实心玻璃长方体,可以看作由 n×m×kn\times m\times k 个单位小方块组成。

进行若干次切割,每次给出一个长方体区域,将其中所有小方块去掉。

请输出最终剩余的小方块数量。


【输入描述】

第一行输入三个整数 n,m,kn,m,k。

第二行输入整数 qq。

接下来 qq 行,每行六个整数 x1,y1,z1,x2,y2,z2x_1,y_1,z_1,x_2,y_2,z_2。

这六个数表示要拿掉的小长方体中两个相对顶点的坐标,并表示所有满足 x1≤x≤x2x_1\le x\le x_2、y1≤y≤y2y_1\le y\le y_2、z1≤z≤z2z_1\le z\le z_2 的单位小方块;它们不是六个面的编号。

保证:

  • 1≤n,m,k≤201\le n,m,k\le 20,1≤q≤1001\le q\le 100;
  • 1≤x1≤x2≤n1\le x_1\le x_2\le n;
  • 1≤y1≤y2≤m1\le y_1\le y_2\le m;
  • 1≤z1≤z2≤k1\le z_1\le z_2\le k。

【输出描述】

输出一个整数,表示剩余小方块数量。


【样例 1】

【样例 1 输入】

4 4 4
1
1 1 1 2 2 2

【样例 1 输出】

56

【样例 1 解释】

从 6464 个小方块中去掉坐标满足 1≤x≤21\le x\le2、1≤y≤21\le y\le2、1≤z≤21\le z\le2 的 88 个小方块。


【样例 2】

【样例 2 输入】

3 2 2
2
1 1 1 1 2 2
2 1 1 3 1 1

【样例 2 输出】

6

【样例 3】

【样例 3 输入】

5 4 3
3
1 1 1 3 2 2
2 2 2 5 4 3
4 1 1 5 1 3

【样例 3 输出】

20

【样例 3 解释】

第一次拿掉 1≤x≤31\le x\le3、1≤y≤21\le y\le2、1≤z≤21\le z\le2 的小长方体;第二次拿掉 2≤x≤52\le x\le5、2≤y≤42\le y\le4、2≤z≤32\le z\le3 的小长方体;第三次拿掉 4≤x≤54\le x\le5、y=1y=1、1≤z≤31\le z\le3 的小长方体。重叠区域只计算一次,最终剩余 2020 个小方块。