介绍:
一般来说,我们通常说四个维度:三维空间的x,y和z; 和一个时间维度。对于这一挑战的缘故然而,我们就会将时间维度分为三个还有:past,present,和future。
输入:
两个输入列表。一种包含整数x,y,z坐标,另一种包含整数年。
输出:
您自己选择的四个不同且恒定的输出之一。一个表示输出space; 一个表示输出time; 一个表示输出both space and time; 一个指示输出neither space nor time。
如果所有三个维度的整数元组之差都不为0,我们将指示我们进入了所有三个维度。
如果过去至少有一年,未来至少有一年,以及至少有一年等于当前年(所以现在),我们将指示我们进入了所有三个时间维度。
例:
输入:
坐标列表:[{5,7,2}, {5,3,8}, {-6,3,8}, {5,7,2}]
年列表:[2039, 2019, 2018, 2039, 2222]
输出:
恒定为space
为什么?
该x坐标[5,5,-6,5]。由于它们并不完全相同,因此我们遍历了x空间维度。
该y坐标[7,3,3,7]。由于它们并不完全相同,因此我们也讨论了y空间维度。
该z坐标[2,8,8,2]。由于它们并不完全相同,因此我们也讨论了z空间维度。
本年度是2018。在此之前没有几年,因此我们没有访问past时间维度。年列表中
有一个2018礼物,因此我们确实访问了present时间维度。()
以上有多个年份,因此我们也访问了时间维度。2018[2039, 2019, 2039, 2222]future
由于我们已经访问了所有三个space维度,但是仅访问了三个维度中的两个time,因此输出将仅为(的常数)space。
挑战规则:
- 您可以为四种可能的状态使用任何四个不同且恒定的输出。
- 输入可以采用任何合理的格式。坐标列表可以是元组,大小为3的内部列表/数组,字符串,对象等。年份列表可以是日期对象的列表,而不是整数,如果它对您的字节数有利的话。
- 您可以假设
x,y,z坐标为整数,因此无需处理浮点小数。但是x,,y和/或z坐标中的任何一个都可以为负值。 - 您不能将输入列表预先订购。输入列表应按照测试用例中显示的顺序。
- 您可以假设所有年份值都在该范围内
[0,9999];并且您可以假设所有坐标都在范围内[-9999,9999]。 - 如果您的语言没有检索当前年份的任何方式,但是您仍然想应对这一挑战,则可以将其作为附加输入并将答案标记为(非竞争)。
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于具有默认I / O规则的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法以及返回类型的完整程序。您的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接(即TIO)。
- 另外,强烈建议为您的答案添加说明。
测试用例:
Coordinates-input: [{5,7,2}, {5,3,8}, {-6,3,8}, {5,7,2}]
Years-input: [2039, 2019, 2018, 2039, 2222]
Output: space
Coordinates-input: [{0,0,0}, {-4,-4,0}, {-4,2,0}]
Years-input: [2016, 2019, 2018, 2000]
Output: time
Coordinates-input: [{-2,-2,-2}, {-3,-3,-3}]
Years-input: [2020, 1991, 2014, 2018]
Output: both
Coordinates-input: [{5,4,2}, {3,4,0}, {1,4,2}, {9,4,4}]
Years-input: [2020, 1991, 2014, 2017, 2019, 1850]
Output: neither
[0,9999]很好([-9999,9999]坐标也很好。)