相信大部分人都是用暴力枚举的方式做的,即将所有删除的方块做标记,然后遍历整个立方体数没有标记的方块。结果发现样例过了,测试点全WA
但是,大家需要注意的是,(x1,y1,z1),(x2,y2,z2)的数据范围最小为1而不是0
数据保证,1≤w,x,h≤20,1≤q≤100。 1≤x≤x2≤h,1≤y1≤y2≤x,1≤z1≤z2≤h
所以,最小的立方体坐标应当是(1,1,1)而不是(0,0,0),这是很多人过样例却全WA的根本原因
但是,这不是大家的错。因为,本人认为,出题人的表述不太严谨,理由如下:
请注意到题目的第二段,相关理由标记如下:
换句话说,所有满足x1≤i≤x2,y1≤j≤y2,z1≤k≤z2的小方块 (i,j,k) 的点都会被激光蒸发。例如有一个4×4×4的大方块,其体积为64;给出参数 (1,1,1),(2,2,2) 时,中间的8块小方块就会被蒸发,剩下56个小方块。
现在,为了后续的表述,重新规定(记该坐标系为Σ系):对于长为x,宽为y,高为z的立方体,合法的索引(i,j,k)满足1≤i≤x,1≤j≤y,1≤k≤z。同时,称题目中的坐标系为原坐标系
众所周知,“中间”一般理解为“在某个空间的正中心”,比如“书桌在房间的中间”会被理解为“书桌在房间的正中心位置,而不是靠左或者靠右等偏离正中心的位置”。
所以,在大家的眼中,题中给出示例的Σ系坐标为(2,2,2),(3,3,3),即原坐标系的合法索引为0≤i≤x−1,0≤j≤y−1,0≤k≤z−1
但是,出题人想要表述的实际含义为其中,即不强调这个区间具体的位置,只是说明有这么一片区域而已。即,在出题人眼中,这片区域的Σ系坐标为(1,1,1),(2,2,2)
希望这篇帖子能够对你有帮助!