Introduzione:
In generale si parla di solito quattro dimensioni: tre dimensioni spaziali per x, ye z; e una dimensione temporale. Per il bene di questa sfida però, ci divideremo la dimensione temporale in tre così: past, present, e future.
Ingresso:
Due liste di input. Uno contenente x,y,zcoordinate intere e uno contenente anni interi.
Produzione:
Una delle quattro uscite distinte e costanti di tua scelta. Uno per indicare l'uscita space; uno per indicare l'uscita time; uno per indicare l'uscita both space and time; e uno per indicare l'output neither space nor time.
Indicheremo che siamo andati a tutte e tre le dimensioni dello spazio se le differenze delle tuple intere non sono 0 per tutte e tre le dimensioni.
Indicheremo che siamo passati a tutte e tre le dimensioni temporali se c'è almeno un anno in passato, almeno un anno in futuro e almeno un anno uguale all'anno in corso (quindi nel presente).
Esempio:
Input:
Elenco coordinate : Elenco [{5,7,2}, {5,3,8}, {-6,3,8}, {5,7,2}]
anni:[2039, 2019, 2018, 2039, 2222]
Uscita:
costante perspace
Perché?
Le xcoordinate sono [5,5,-6,5]. Dal momento che non sono tutti uguali, abbiamo attraversato la xdimensione dello spazio.
Le ycoordinate sono [7,3,3,7]. Dal momento che non sono tutti uguali, abbiamo anche attraversato la ydimensione dello spazio.
Le zcoordinate sono [2,8,8,2]. Dal momento che non sono tutti uguali, abbiamo anche attraversato la zdimensione dello spazio.
L'anno corrente è 2018. Non ci sono anni prima, quindi non abbiamo visitato la pastdimensione temporale.
C'è un 2018regalo nella lista degli anni, quindi abbiamo visitato la presentdimensione temporale.
Sono trascorsi più anni 2018( [2039, 2019, 2039, 2222]), quindi abbiamo anche visitato la futuredimensione temporale.
Dal momento che abbiamo visitato tutte e tre le spacedimensioni, ma solo due delle tre timedimensioni, l'output sarà solo (la costante per) space.
Regole della sfida:
- È possibile utilizzare quattro uscite distinte e costanti per i quattro stati possibili.
- L'input può essere in qualsiasi formato ragionevole. L'elenco delle coordinate può essere tuple, elenchi interni / matrici di dimensione 3, stringhe, oggetti, ecc. L'elenco degli anni può essere un elenco di oggetti data anziché numeri interi se ciò andrebbe a vantaggio del conteggio dei byte.
- Puoi presumere che le
x,y,zcoordinate saranno numeri interi, quindi non è necessario gestire i decimali in virgola mobile. Qualsiasi delx,y, e / ozcoordinate possono essere valori negativi, però. - Non è possibile prendere le liste di input preordinate. Gli elenchi di input devono essere nell'ordine visualizzato nei casi di test.
- Puoi presumere che tutti i valori dell'anno saranno compresi nell'intervallo
[0,9999]; e puoi supporre che tutte le coordinate siano nell'intervallo[-9999,9999]. - Se la tua lingua non ha NESSUN modo di recuperare l'anno in corso, ma ti piacerebbe comunque fare questa sfida, puoi prenderla come input aggiuntivo e contrassegnare la tua risposta come (non competitiva) .
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Le regole standard si applicano alla tua risposta con le regole I / O predefinite , quindi puoi utilizzare STDIN / STDOUT, funzioni / metodo con i parametri corretti e tipo di ritorno, programmi completi. La tua chiamata.
- Le scappatoie predefinite sono vietate.
- Se possibile, aggiungi un link con un test per il tuo codice (ad es. TIO ).
- Inoltre, si consiglia vivamente di aggiungere una spiegazione per la risposta.
Casi 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]va bene (e anche [-9999,9999]per le coordinate va bene.