Interleaved sequences แสดงถึงการรวมของลำดับบางอย่างโดยพลการ
ลำดับ interleaved สามารถทำได้โดยการผนวกองค์ประกอบไปยังรายการหนึ่งโดยหนึ่งจากจำนวนรายการบางรายการเลือกองค์ประกอบต่อไปจากบางรายการในแต่ละครั้ง ดังนั้นลำดับ interleaved จะมีองค์ประกอบเดียวกันทั้งหมดของรายการทั้งหมดรวมกันในลำดับที่สอดคล้องกับรายการทั้งหมด
interleaving เพียง 1 รายการเท่านั้นคือรายการเดียวกัน
ท้าทาย
ความท้าทายของคุณคือการสร้างฟังก์ชั่น / โปรแกรมที่ใช้ลำดับและเอาท์พุทที่เป็นไปได้ทั้งหมดของลำดับนั้น
ตัวอย่าง
Input: [1, 2], [3, 4]
Output:
[1, 2, 3, 4]
[1, 3, 2, 4]
[1, 3, 4, 2]
[3, 1, 2, 4]
[3, 1, 4, 2]
[3, 4, 1, 2]
Input: [1, 2, 3, 4, 5]
Output:
[1, 2, 3, 4, 5]
Input: []
Output:
[]
Input: <nothing>
Output:
[]
(also acceptable)
Input: <nothing>
Output: <nothing>
Input: [1, 2, 3], [4, 5]
Output:
[1, 2, 3, 4, 5]
[1, 2, 4, 3, 5]
[1, 2, 4, 5, 3]
[1, 4, 2, 3, 5]
[1, 4, 2, 5, 3]
[1, 4, 5, 2, 3]
[4, 1, 2, 3, 5]
[4, 1, 2, 5, 3]
[4, 1, 5, 2, 3]
[4, 5, 1, 2, 3]
Input: [1, 2], [3, 4], [5, 6]
Output:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 5, 4, 6]
[1, 2, 3, 5, 6, 4]
[1, 2, 5, 3, 4, 6]
[1, 2, 5, 3, 6, 4]
[1, 2, 5, 6, 3, 4]
[1, 3, 2, 4, 5, 6]
[1, 3, 2, 5, 4, 6]
[1, 3, 2, 5, 6, 4]
[1, 3, 4, 2, 5, 6]
[1, 3, 4, 5, 2, 6]
[1, 3, 4, 5, 6, 2]
[1, 3, 5, 2, 4, 6]
[1, 3, 5, 2, 6, 4]
[1, 3, 5, 4, 2, 6]
[1, 3, 5, 4, 6, 2]
[1, 3, 5, 6, 2, 4]
[1, 3, 5, 6, 4, 2]
[1, 5, 2, 3, 4, 6]
[1, 5, 2, 3, 6, 4]
[1, 5, 2, 6, 3, 4]
[1, 5, 3, 2, 4, 6]
[1, 5, 3, 2, 6, 4]
[1, 5, 3, 4, 2, 6]
[1, 5, 3, 4, 6, 2]
[1, 5, 3, 6, 2, 4]
[1, 5, 3, 6, 4, 2]
[1, 5, 6, 2, 3, 4]
[1, 5, 6, 3, 2, 4]
[1, 5, 6, 3, 4, 2]
[3, 1, 2, 4, 5, 6]
[3, 1, 2, 5, 4, 6]
[3, 1, 2, 5, 6, 4]
[3, 1, 4, 2, 5, 6]
[3, 1, 4, 5, 2, 6]
[3, 1, 4, 5, 6, 2]
[3, 1, 5, 2, 4, 6]
[3, 1, 5, 2, 6, 4]
[3, 1, 5, 4, 2, 6]
[3, 1, 5, 4, 6, 2]
[3, 1, 5, 6, 2, 4]
[3, 1, 5, 6, 4, 2]
[3, 4, 1, 2, 5, 6]
[3, 4, 1, 5, 2, 6]
[3, 4, 1, 5, 6, 2]
[3, 4, 5, 1, 2, 6]
[3, 4, 5, 1, 6, 2]
[3, 4, 5, 6, 1, 2]
[3, 5, 1, 2, 4, 6]
[3, 5, 1, 2, 6, 4]
[3, 5, 1, 4, 2, 6]
[3, 5, 1, 4, 6, 2]
[3, 5, 1, 6, 2, 4]
[3, 5, 1, 6, 4, 2]
[3, 5, 4, 1, 2, 6]
[3, 5, 4, 1, 6, 2]
[3, 5, 4, 6, 1, 2]
[3, 5, 6, 1, 2, 4]
[3, 5, 6, 1, 4, 2]
[3, 5, 6, 4, 1, 2]
[5, 1, 2, 3, 4, 6]
[5, 1, 2, 3, 6, 4]
[5, 1, 2, 6, 3, 4]
[5, 1, 3, 2, 4, 6]
[5, 1, 3, 2, 6, 4]
[5, 1, 3, 4, 2, 6]
[5, 1, 3, 4, 6, 2]
[5, 1, 3, 6, 2, 4]
[5, 1, 3, 6, 4, 2]
[5, 1, 6, 2, 3, 4]
[5, 1, 6, 3, 2, 4]
[5, 1, 6, 3, 4, 2]
[5, 3, 1, 2, 4, 6]
[5, 3, 1, 2, 6, 4]
[5, 3, 1, 4, 2, 6]
[5, 3, 1, 4, 6, 2]
[5, 3, 1, 6, 2, 4]
[5, 3, 1, 6, 4, 2]
[5, 3, 4, 1, 2, 6]
[5, 3, 4, 1, 6, 2]
[5, 3, 4, 6, 1, 2]
[5, 3, 6, 1, 2, 4]
[5, 3, 6, 1, 4, 2]
[5, 3, 6, 4, 1, 2]
[5, 6, 1, 2, 3, 4]
[5, 6, 1, 3, 2, 4]
[5, 6, 1, 3, 4, 2]
[5, 6, 3, 1, 2, 4]
[5, 6, 3, 1, 4, 2]
[5, 6, 3, 4, 1, 2]
กฎระเบียบ
- ช่องโหว่มาตรฐานต้องห้าม (duh)
- อินพุตอาจถูกนำมาใช้ในรูปแบบที่สมเหตุสมผลเช่นรายการลิสต์รายการวาร์เกตรายการพารามิเตอร์ ฯลฯ ... ตราบใดที่ยังไม่มีความชัดเจนที่รายการเริ่มต้นและสิ้นสุด
- ผลลัพธ์อาจอยู่ในรูปแบบที่สมเหตุสมผลตราบเท่าที่ชัดเจนว่ารายการเริ่มต้นและสิ้นสุด ผลลัพธ์ที่ถูกต้องรวมถึง แต่ไม่ จำกัด เฉพาะ:
- stdout โดยมีหนึ่งรายการต่อบรรทัด
- รายการของรายการ
- ตัววนซ้ำในรายการ (สามารถนำไปใช้กับตัวสร้างได้หากภาษาของคุณมี)
- คำสั่งของการแทรกสอดที่เกิดขึ้นไม่สำคัญอย่างไรก็ตามไม่ควรมีการแทรกซ้ำใด ๆ ซ้ำอีก
- เพื่อลดความซับซ้อนของการตรวจจับซ้ำคุณอาจสมมติว่าองค์ประกอบทั้งหมดในลำดับการป้อนข้อมูลทั้งหมดไม่ซ้ำกัน
- หากไม่มีรายการใดเป็นอินพุตทั้งรายการว่างและไม่มีเอาต์พุตเป็นเอาต์พุตที่ถูกต้อง
- ประเภทขององค์ประกอบในลำดับนั้นไม่เกี่ยวข้อง (เช่นพวกเขาทั้งหมดอาจเป็นหนึ่งประเภทหรือยำประเภทซึ่งแล้วแต่ว่าอะไรจะสะดวกในภาษาของคุณ)
- โปรแกรม / ฟังก์ชั่นของคุณจะต้องรับประกันว่าจะยุติในเวลาที่ จำกัด
- นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดสำหรับแต่ละภาษาจะชนะ
[[]]แทนที่จะเป็น[]เมื่อเราไม่ได้รับรายการใด ๆ เป็นอินพุต?