Вступ:
Загалом , ми зазвичай говоримо про чотири вимірах: три виміри простору для 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]для координат це також добре.