Introduction:
En général , nous parlons généralement de quatre dimensions: trois dimensions de l' espace pour x
, y
et z
; et une dimension temporelle. Par souci de ce défi cependant, nous allons séparer la dimension du temps en trois ainsi: past
, present
et future
.
Contribution:
Deux listes d'entrées. Un contenant des x,y,z
coordonnées entières et un contenant des années entières.
Production:
L'une des quatre sorties distinctes et constantes de votre choix. Un pour indiquer la sortie space
; un pour indiquer la sortie time
; un pour indiquer la sortie both space and time
; et un pour indiquer la sortie neither space nor time
.
Nous indiquerons que nous sommes passés aux trois dimensions d'espace si les différences des tuples entiers ne sont pas égales à 0 pour les trois dimensions.
Nous indiquerons que nous sommes passés aux trois dimensions temporelles s'il y a au moins une année dans le passé, au moins une année dans le futur et au moins une année égale à l'année en cours (donc dans le présent).
Exemple:
Entrée:
Liste des coordonnées: [{5,7,2}, {5,3,8}, {-6,3,8}, {5,7,2}]
Liste des années:[2039, 2019, 2018, 2039, 2222]
Sortie:
constante pourspace
Pourquoi?
Les x
coordonnées sont [5,5,-6,5]
. Puisqu'ils ne sont pas tous pareils, nous sommes passés par la x
dimension spatiale.
Les y
coordonnées sont [7,3,3,7]
. Puisqu'ils ne sont pas tous pareils, nous sommes également passés par la y
dimension spatiale.
Les z
coordonnées sont [2,8,8,2]
. Puisqu'ils ne sont pas tous pareils, nous sommes également passés par la z
dimension spatiale.
L'année en cours est 2018
. Il n'y a pas d'années avant cela, nous n'avons donc pas visité la past
dimension temporelle.
Il y a un 2018
cadeau dans la liste des années, nous avons donc visité la present
dimension temporelle.
Il y a plusieurs années au-dessus 2018
( [2039, 2019, 2039, 2222]
), nous avons donc également visité la future
dimension temporelle.
Puisque nous avons visité les trois space
dimensions, mais seulement deux des trois time
dimensions, la sortie ne sera que (la constante de) space
.
Règles du défi:
- Vous pouvez utiliser quatre sorties distinctes et constantes pour les quatre états possibles.
- L'entrée peut être dans n'importe quel format raisonnable. La liste des coordonnées peut être des tuples, des listes / tableaux internes de taille 3, des chaînes, des objets, etc.
- Vous pouvez supposer que les
x,y,z
coordonnées seront des entiers, donc pas besoin de gérer les décimales à virgule flottante. Tout dux
,y
et / ou lesz
coordonnées peuvent être des valeurs négatives, cependant. - Vous ne pouvez pas prendre les listes d'entrées pré-commandées. Les listes d'entrées doivent être dans l'ordre affiché dans les cas de test.
- Vous pouvez supposer que toutes les valeurs de l'année seront dans la plage
[0,9999]
; et vous pouvez supposer que toutes les coordonnées sont dans la plage[-9999,9999]
. - Si votre langue n'a AUCUN moyen de récupérer l'année en cours, mais que vous souhaitez toujours relever ce défi, vous pouvez le prendre comme entrée supplémentaire et marquer votre réponse comme (non concurrente) .
Règles générales:
- C'est le code-golf , donc la réponse la plus courte en octets l'emporte.
Ne laissez pas les langues de golf de code vous décourager de publier des réponses avec des langues non-golfeur de code. Essayez de trouver une réponse aussi courte que possible pour «n'importe quel» langage de programmation. - Des règles standard s'appliquent à votre réponse avec des règles d'E / S par défaut , vous êtes donc autorisé à utiliser STDIN / STDOUT, des fonctions / méthodes avec les paramètres appropriés et des programmes complets de type retour. Ton appel.
- Les failles par défaut sont interdites.
- Si possible, veuillez ajouter un lien avec un test pour votre code (par exemple TIO ).
- De plus, l'ajout d'une explication à votre réponse est fortement recommandé.
Cas de test:
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]
est bien (et [-9999,9999]
pour les coordonnées est bien aussi.