Giới thiệu:
Nói chung chúng ta thường nói về bốn khía cạnh: ba chiều không gian cho x
, y
và z
; và một chiều thời gian. Vì lợi ích của thách thức này tuy nhiên, chúng tôi sẽ chia chiều thời gian thành ba cũng như: past
, present
, và future
.
Đầu vào:
Hai danh sách đầu vào. Một chứa x,y,z
tọa độ nguyên và một chứa số nguyên năm.
Đầu ra:
Một trong bốn đầu ra khác biệt và liên tục của sự lựa chọn của riêng bạn. Một để chỉ đầu ra space
; một để chỉ đầu ra time
; một để chỉ đầu ra both space and time
; và một để chỉ ra đầu ra neither space nor time
.
Chúng tôi sẽ chỉ ra rằng chúng tôi đã đi đến cả ba chiều không gian nếu sự khác biệt của các số nguyên không phải là 0 cho cả ba chiều.
Chúng tôi sẽ cho biết chúng tôi đã đi đến cả ba chiều thời gian nếu có ít nhất một năm trong quá khứ, ít nhất một năm trong tương lai và ít nhất một năm bằng với năm hiện tại (như vậy trong hiện tại).
Thí dụ:
Đầu vào:
Tọa độ-danh sách: Danh sách [{5,7,2}, {5,3,8}, {-6,3,8}, {5,7,2}]
năm:[2039, 2019, 2018, 2039, 2222]
Đầu ra:
Hằng số chospace
Tại sao?
Các x
tọa độ là [5,5,-6,5]
. Vì chúng không giống nhau, chúng tôi đã đi qua x
chiều không gian.
Các y
tọa độ là [7,3,3,7]
. Vì chúng không giống nhau, chúng tôi cũng đã đi qua y
chiều không gian.
Các z
tọa độ là [2,8,8,2]
. Vì chúng không giống nhau, chúng tôi cũng đã đi qua z
chiều không gian.
Năm hiện tại là 2018
. Không có năm trước, vì vậy chúng tôi đã không truy cập vào past
chiều thời gian.
Có một 2018
món quà trong danh sách năm, vì vậy chúng tôi đã truy cập vào present
chiều thời gian.
Có nhiều năm ở trên 2018
( [2039, 2019, 2039, 2222]
), vì vậy chúng tôi cũng đã truy cập vào future
chiều thời gian.
Vì chúng tôi đã truy cập cả ba space
chiều, nhưng chỉ hai trong ba time
chiều, đầu ra sẽ chỉ là (hằng số cho) space
.
Quy tắc thử thách:
- Bạn có thể sử dụng bất kỳ bốn đầu ra riêng biệt và không đổi cho bốn trạng thái có thể.
- Đầu vào có thể ở bất kỳ định dạng hợp lý. Danh sách tọa độ có thể là bộ dữ liệu, danh sách / mảng bên trong có kích thước 3, chuỗi, đối tượng, v.v. Danh sách năm có thể là danh sách các đối tượng ngày thay vì số nguyên nếu điều đó có lợi cho số đếm byte của bạn.
- Bạn có thể giả sử
x,y,z
tọa độ sẽ là số nguyên, do đó không cần xử lý số thập phân dấu phẩy động. Bất kỳx
,y
và / hoặcz
tọa độ có thể được giá trị tiêu cực, mặc dù. - Bạn không thể lấy danh sách đầu vào được đặt hàng trước. Danh sách đầu vào phải theo thứ tự được hiển thị trong các trường hợp thử nghiệm.
- Bạn có thể giả sử tất cả các giá trị năm sẽ nằm trong phạm vi
[0,9999]
; và bạn có thể giả sử tất cả các tọa độ nằm trong phạm vi[-9999,9999]
. - Nếu ngôn ngữ của bạn không có cách nào để lấy lại năm hiện tại, nhưng bạn vẫn muốn thực hiện thử thách này, bạn có thể lấy đó làm đầu vào bổ sung và đánh dấu câu trả lời của bạn là (không cạnh tranh) .
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Quy tắc chuẩn áp dụng cho câu trả lời của bạn với quy tắc I / O mặc định , vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn (ví dụ TIO ).
- Ngoài ra, thêm một lời giải thích cho câu trả lời của bạn rất được khuyến khích.
Các trường hợp thử nghiệm:
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]
cũng tốt (và [-9999,9999]
đối với tọa độ cũng tốt.