【题目描述】
有一个长、宽、高分别为 n,m,k 的实心玻璃长方体,可以看作由 n×m×k 个单位小方块组成。
进行若干次切割,每次给出一个长方体区域,将其中所有小方块去掉。
请输出最终剩余的小方块数量。
【输入描述】
第一行输入三个整数 n,m,k。
第二行输入整数 q。
接下来 q 行,每行六个整数 x1,y1,z1,x2,y2,z2。
这六个数表示要拿掉的小长方体中两个相对顶点的坐标,并表示所有满足 x1≤x≤x2、y1≤y≤y2、z1≤z≤z2 的单位小方块;它们不是六个面的编号。
保证:
- 1≤n,m,k≤20,1≤q≤100;
- 1≤x1≤x2≤n;
- 1≤y1≤y2≤m;
- 1≤z1≤z2≤k。
【输出描述】
输出一个整数,表示剩余小方块数量。
【样例 1】
【样例 1 输入】
4 4 4
1
1 1 1 2 2 2
【样例 1 输出】
56
【样例 1 解释】
从 64 个小方块中去掉坐标满足 1≤x≤2、1≤y≤2、1≤z≤2 的 8 个小方块。
【样例 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≤3、1≤y≤2、1≤z≤2 的小长方体;第二次拿掉 2≤x≤5、2≤y≤4、2≤z≤3 的小长方体;第三次拿掉 4≤x≤5、y=1、1≤z≤3 的小长方体。重叠区域只计算一次,最终剩余 20 个小方块。