บทนำ:
โดยทั่วไปเรามักจะพูดถึงสี่มิติ: สามมิติพื้นที่สำหรับx, yและz; และมิติหนึ่งครั้ง เพื่อประโยชน์ของความท้าทายนี้ แต่เราจะแยกมิติเวลาเป็นสามเช่นกัน: past, และpresentfuture
การป้อนข้อมูล:
สองรายการอินพุต หนึ่งที่มี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]xy[7,3,3,7]yz[2,8,8,2]z2018past2018present2018[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]พิกัดจะปรับเช่นกัน.