Вступ:
Загалом , ми зазвичай говоримо про чотири вимірах: три виміри простору для 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]
. - Якщо у вашій мові немає жодного способу отримання поточного року, але ви все ще хочете зробити це завдання, ви можете взяти це як додатковий внесок і позначити свою відповідь як (неконкурентна) .
Загальні правила:
- Це код-гольф , тому найкоротша відповідь у байтах виграє.
Не дозволяйте мовам з кодовим гольфом відштовхувати вас від публікації відповідей з мов, що не кодують гольф. Спробуйте придумати якомога коротшу відповідь на "будь-яку" мову програмування. - Для вашої відповіді застосовуються стандартні правила з правилами вводу / виводу за замовчуванням , тому вам дозволяється використовувати 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]
для координат це також добре.