ค้นหาจุดตัดของ 2 ชุดในสัญลักษณ์ช่วงเวลาแบบรวม
เมื่อกำหนดจำนวนจริงสองชุดที่อธิบายว่าเป็นการรวมกันของช่วงเวลาเอาท์พุทคำอธิบายของจุดตัดของทั้งสองชุดเป็นสหภาพที่มีช่วงเวลาชนิดเดียวกัน
ชุดข้อมูลเข้าจะประกอบด้วยสหภาพต่างๆของช่วงเวลาเช่นว่าแต่ละช่วงเวลาเริ่มต้นและสิ้นสุดที่จำนวนเต็มที่แตกต่างกัน (เช่นไม่มีช่วงเวลาที่มีการวัดศูนย์) อย่างไรก็ตามช่วงเวลาที่แตกต่างกันในชุดเดียวกันอาจเริ่มต้นหรือสิ้นสุดที่จำนวนเต็มหรือทับซ้อนกัน
ชุดเอาท์พุทต้องเป็นยูเนี่ยนของช่วงเวลาซึ่งเริ่มต้นและสิ้นสุดที่จำนวนเต็ม แต่ไม่มีช่วงเวลาในเอาต์พุตอาจทับซ้อนกันแม้แต่ในจำนวนเต็มเดียว
อินพุตอาจอยู่ในรูปแบบใด ๆ ที่เหมาะสมกับภาษาที่คุณเลือกตราบใดที่มันประกอบด้วยรายการจำนวนเต็มสองคู่
ตัวอย่างเช่นคุณอาจแสดงชุดเป็น:
[-10,-4]u[1,5]u[19,20]
หรือเป็น:
[[-10,-4],[1,5],[19,20]]
หรือเป็น:
[-10,-4;1,5;19,20]
การแทนค่าเอาต์พุตของคุณจะต้องเหมือนกับการแทนค่าอินพุตของคุณ (ยกเว้นว่าจะเป็นเพียงช่วงเวลาเดียวเท่านั้นแทนที่จะเป็นสองช่วง)
ตัวอย่าง / กรณีทดสอบ:
การป้อนข้อมูล:
[[[-90,-4],[4,90]],[[-50,50]]]
เอาท์พุท:
[[-50,-4],[4,50]]
กล่าวอีกนัยหนึ่งเรากำลังตัดกันชุดที่มีจำนวนจริงทั้งหมดระหว่าง -90 ถึง -4 และจำนวนจริงทั้งหมดระหว่าง 4 ถึง 90 กับเซตที่มีจำนวนจริงทั้งหมดระหว่าง -50 ถึง 50 จุดตัดคือชุดที่มีทั้งหมด จำนวนจริงระหว่าง -50 ถึง -4 และจำนวนจริงทั้งหมดระหว่าง 4 ถึง 50 คำอธิบายที่ชัดเจนยิ่งขึ้น:
-90~~~~~-4 4~~~~~90 intersected with
-50~~~~~~~~50 yields:
-50~-4 4~~50
การป้อนข้อมูล:
"[-2,0]u[2,4]u[6,8]
[-1,1]u[3,5]u[5,9]"
เอาท์พุท:
"[-1,0]u[3,4]u[6,8]"
การป้อนข้อมูล:
[-9,-8;-8,0;-7,-6;-5,-4]
[-7,-5;-1,0;-8,-1]
เอาท์พุท:
[-8,0]
เอาต์พุตไม่ถูกต้อง (แม้ว่าจะเป็นชุดเดียวกัน):
[-8,0;-7,-5;-5,0]
เกณฑ์การให้คะแนน:
นี่คือcode-golfแหล่งที่สั้นที่สุดในหน่วยไบต์ชนะตามที่อาจแก้ไขโดยโบนัสต่อไปนี้
โบนัส:
-15% ถ้าคุณยังสนับสนุนอินฟินิตี้บวกและลบเป็นขอบเขตของช่วงเวลา คุณสามารถเลือกสิ่งที่โทเค็นแสดงถึงตัวเลขเหล่านี้ (และใช่อินฟินิตี้คือตัวเลขในไฮเปอร์เรียม; P)
[[[4,90],[-90,-4]],[[-50,50]]]