介绍:
一般来说,我们通常说四个维度:三维空间的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]
坐标也很好。)