เมื่อได้รับการเปลี่ยนรูปแบบสองรูปแบบในรูปของวงรอบที่ไม่ปะติดปะต่อ
ในการค้นหาองค์ประกอบให้แปลงวงรอบที่แยกกันเป็นพีชคณิตในรูปแบบสองบรรทัด แต่ละหมายเลขในส่วนที่ไม่เป็นสมาชิกร่วมของรอบจะถูกแมปกับหมายเลขที่ตามมาในส่วนเดียวกัน มันล้อมรอบ ดังนั้น1 -> 5
, 5 -> 1
, ,2 -> 4
4 -> 2
หากไม่พบตัวเลข3 -> 3
มันจะถูกแม็พกับตัวเอง (1 5)(2 4)(3)
วงจรเคล็ดแรกอาจจะมีการเขียน การแมปเหล่านี้จะถูกแปลงเป็นสองบรรทัดเช่นนั้น (โปรดทราบว่าลำดับของPและQจะถูกย้อนกลับ):
[T] ผลคูณของการเปลี่ยนสองอันได้มาจากการจัดเรียงคอลัมน์ของการเปลี่ยนแปลงลำดับที่สอง (ซ้ายสุด) เพื่อให้แถวแรกของแถวนั้นเหมือนกันกับแถวที่สองของการเปลี่ยนรูปแรก (ขวาสุด) ผลิตภัณฑ์สามารถเขียนเป็นแถวแรกของการเปลี่ยนรูปแรกเหนือแถวที่สองของการเปลี่ยนแปลงที่สองที่ถูกดัดแปลง
กฎ:
- อินพุตจะได้รับเป็นรายการของรายการหรือรูปแบบที่คล้ายกัน
- คุณอาจจะไม่ได้ใช้สิ่งที่ต้องการ
(1 5)(2 4)
เป็น[5, 4, 3, 2, 1]
อยู่แล้วในรูปแบบสองบรรทัด (ดัชนีการทำแผนที่เพื่อค่า) - ไม่ใช่ว่าทุกตัวเลขจะต้องเกิดขึ้นในแต่ละกลุ่มดังนั้นคุณอาจมี
(1 5)·(1 2)
ผลลัพธ์(2 5 1)
ได้ - เอาต์พุตของคุณควรสามารถใช้เป็นอินพุตของคุณได้
(1 5)·()
คุณไม่จำเป็นต้องป้อนข้อมูลสนับสนุนที่มีวงจรที่ว่างเปล่า ที่จะได้รับเป็นแทน(1 5)·(1)
หรือสิ่งที่เทียบเท่า- เนื่องจากรอบตัดคำสั่งนั้นไม่สำคัญตราบใดที่ผลลัพธ์ถูกต้อง
- คุณสามารถเริ่มต้นที่ศูนย์หรือหนึ่ง มันไม่สำคัญเพราะผลลัพธ์เหมือนกัน
9
ตัวเลขจะมีขนาดใหญ่กว่า- คุณไม่สามารถใส่หมายเลขเดียวกันมากกว่าหนึ่งครั้งในผลลัพธ์ ดังนั้นจึง
[[1],[1]]
ไม่ได้รับอนุญาต - โปรดทราบว่าการดำเนินการนี้ไม่ได้สลับกัน ! ฉันใส่ Q ก่อน P เพราะนั่นคือสิ่งที่ Wikipedia ทำ คุณสามารถเลือกคำสั่งซื้อใด ๆ แต่ระบุว่ามันแตกต่างกัน
- รหัสที่สั้นที่สุดชนะ
- อนุญาตให้ใช้บิวด์อิน แต่ถ้าคุณใช้ให้แสดงโซลูชันโดยไม่ใช้ด้วย
ตัวอย่าง:
ไม่ใช่ความเป็นไปได้ที่เทียบเท่าที่จะแสดงทั้งหมด
Input
Output
[[1, 5], [2, 4]], [[1, 2, 4, 3]]
[[1, 4, 3, 5]] (or [[4, 3, 5, 1]] or ...)
[[1, 5]], [[1, 2]]
[[2, 5, 1]]
[[10, 2, 3]], [[2]]
[[3, 10, 2]]
[[1]], [[3]]
[[]] (or [[1]] or something equivalent)
[[10,2,3,15],[1,7],[5,6],[14,4,13,11,12]], [[5,6,7,9,14],[2,8,3,10],[1,11]]
[[12, 14, 6, 1], [8, 15, 10, 3, 2], [13, 11, 7, 9, 4]]
(arguments in reverse order from above gives a different answer)
[[5,6,7,9,14],[2,8,3,10],[1,11]], [[10,2,3,15],[1,7],[5,6],[14,4,13,11,12]]
[[9, 14, 4, 13, 1], [10, 8, 3, 15, 2], [7, 11, 12, 5]]