บทนำ:
โดยทั่วไปเรามักจะพูดถึงสี่มิติ: สามมิติพื้นที่สำหรับ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
(คงที่สำหรับ)
กฏท้าทาย:
- คุณสามารถใช้เอาต์พุตที่แตกต่างและคงที่สี่แบบสำหรับสถานะที่เป็นไปได้สี่สถานะ
- อินพุตอาจอยู่ในรูปแบบที่สมเหตุสมผล รายการพิกัดสามารถเป็น tuples, รายการภายใน / อาร์เรย์ของขนาด 3, สตริง, วัตถุ, ฯลฯ รายชื่อปีอาจเป็นรายการของวัตถุวันที่แทนจำนวนเต็มเช่นกันหากเป็นประโยชน์ต่อจำนวนไบต์ของคุณ
- คุณสามารถสมมติว่า
x,y,z
พิกัดจะเป็นจำนวนเต็มดังนั้นไม่จำเป็นต้องจัดการทศนิยมทศนิยม ใด ๆx
,y
และ / หรือz
พิกัดสามารถเป็นค่าลบแม้ว่า - คุณไม่สามารถรับคำสั่งซื้อล่วงหน้าได้ รายการอินพุตควรอยู่ในลำดับที่แสดงในกรณีทดสอบ
- คุณสามารถสันนิษฐานได้ว่าทุกค่าปีจะอยู่ในช่วง
[0,9999]
;[-9999,9999]
และคุณสามารถสมมติพิกัดทั้งหมดที่อยู่ในช่วง - ถ้าภาษาของคุณไม่ได้มีวิธีการใดที่จะดึงปีปัจจุบัน แต่คุณจะยังคงชอบที่จะทำสิ่งที่ท้าทายนี้คุณอาจจะใช้มันเป็น input เพิ่มเติมและทำเครื่องหมายคำตอบของคุณเป็น(ที่ไม่ใช่การแข่งขัน)
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษารหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานใช้สำหรับคำตอบของคุณด้วยกฎ I / O ที่เป็นค่าเริ่มต้นดังนั้นคุณจึงได้รับอนุญาตให้ใช้ 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]
พิกัดจะปรับเช่นกัน.