此题主要考验枚举,从此题的数据中可以看出,根据确切的体积,我们可以通过枚举x与y坐标来枚举所有形状的图形,包括旋转的图形的也在枚举的其中,旋转后视为不同的图形,确定边长后拜访方式的数量直接对边边长相减后在相乘即可
#include<iostream>
#include<cstring>
#include<algorithm>
小红集团总部有一间神秘的魔法阅读室,它四四方方的,三边长为x,y和z:在三维空间内,我们可以假定它占据了(0,0,0)到(x,y,z)的空间。有魔法的地方在于,这里面是不存在重力的!这样一来,阅读桌就可以漂浮在任何位置。
小红集团的大家都非常的热爱阅读,特别是在魔法阅读室里!所以,为了搭配魔法阅读室,大家购买了一张魔法阅读桌:这个桌子的体积为k,边长可以为任何的正整数。你需要将魔法阅读桌放入魔法阅读室,使得阅读桌的各边平行于对应轴,并且每个角都位于整数坐标上。
在所有可能的边长选取情况下, 找到摆放方式数量最多的那种情况的数量之和。例如下图中,在3∗1∗2的空间里。边长为(2,1,1)的阅读桌,有4种摆放方式;边长为(1,1,2)的阅读桌,有3种摆放方式,故我们选第一种边长计入答案。
每个测试文件均包含多个测试点。第一行输入一个整数T(1≤T≤1000)代表测试数据组数,每组测试数据描述如下:
第一行输入四个整数x,y,z和k(1≤x,y,z≤1000,1≤k≤109),分别代表魔法阅读室的三边长和魔法阅读桌的体积。
除此之外,保证所有的x之和,y之和以及所有的z之和均不超过1000。
对于每一个测试点,在一行上输出一个整数,代表不同的摆放方式数量。如果无法将魔法阅读桌放入阅览室,那么输出0
输入
2
3 1 2 2
1 2 3 7
输出
4
0
说明
对于第一个测试点,已经在题目中加以解释。
对于第二个测试点,无法将魔法桌放入阅读室。