งาน
บทนิยาม
พิจารณาคะแนน {1,2,3,4,5} และการเรียงลำดับทั้งหมด เราสามารถหาจำนวนทั้งหมดของการเปลี่ยนลำดับที่เป็นไปได้ของ 5 คะแนนด้วยเคล็ดลับง่ายๆ: การถ่ายภาพเติม 5 ช่องด้วยคะแนนเหล่านี้ช่องแรกจะมี 5 หมายเลขที่เป็นไปได้ 4 อันดับสอง (เนื่องจากมีการใช้เพื่อเติมช่องแรก) 3 ที่สามเป็นต้น ดังนั้นจำนวนพีชคณิตทั้งหมดคือ 5 * 4 * 3 * 2 * 1; นี่จะเป็น 5! พีชคณิตหรือ 120 พีชคณิต เราสามารถคิดได้ว่านี่เป็นกลุ่มสมมาตร S5 จากนั้น Symmetric Group Sn จะมีn! or (n*n-1*n-2...*1)
การเรียงสับเปลี่ยน
การเปลี่ยนรูปแบบ "คู่" คือหนึ่งที่มีจำนวนรอบความยาวเท่ากัน มันเป็นเรื่องง่ายที่จะเข้าใจเมื่อเขียนในสัญกรณ์วงจรเช่น(1 2 3)(4 5)
permutes 1->2->3->1
และ4->5->4
มีหนึ่งรอบ 3 ความยาวและความยาวรอบ(1 2 3)
2 (4 5)
เมื่อจำแนกการเรียงสับเปลี่ยนเป็นคี่หรือแม้กระทั่งเราไม่สนใจรอบความยาวคี่และบอกว่าการเปลี่ยนแปลงนี้ [ (1 2 3)(4 5)
] แปลกเพราะมันมีเลขคี่ {1} ของรอบความยาวคู่ แม้แต่ตัวอย่าง:
(1)(2 3)(4 5)
= สองความยาว 2 รอบ | แม้กระทั่ง(1 2 3 4 5)
= ไม่มีรอบความยาวเท่ากัน | แม้กระทั่ง * โปรดทราบว่าหากไม่มีวงจรความยาวเท่ากันการเปลี่ยนแปลงก็จะสม่ำเสมอ
ตัวอย่างที่แปลก:
(1 2)(3 4 5)
= วงจรความยาวหนึ่ง 2 ODD |(1)(2 3 4 5)
= หนึ่งความยาว 4 รอบ | ODD |
ครึ่งหนึ่งของการเปลี่ยนลำดับในกลุ่ม Symmetric ใด ๆ ถึงแม้เราจะสามารถเรียกกลุ่มสำรองกลุ่ม N ได้ดังนั้น S5 = 120 A5 = 60 การเปลี่ยนลำดับ
NOTATION
อย่างน้อยที่สุดการเรียงสับเปลี่ยนควรเขียนด้วยเครื่องหมายวงกลมที่แต่ละรอบอยู่ในวงเล็บที่แตกต่างกันและแต่ละรอบจะเรียงตามลำดับจากน้อยไปมาก ยกตัวอย่างเช่นไม่ได้(1 2 3 4 5)
(3 4 5 1 2)
และสำหรับรอบที่มีหมายเลขเดียวเช่น(1)(2 3 4)(5)
เดียว / (1)(2 3 4)(5) = (2 3 4)
จุดคงที่สามารถแยกความหมาย แต่ตัวตน {จุดที่จุดทั้งหมดได้รับการแก้ไข(1)(2)(3)(4)(5)
} ควรเขียนเป็น()
เพียงเพื่อเป็นตัวแทนของมัน
ความท้าทาย
ฉันต้องการให้คุณใช้รหัสที่เป็นไปได้โดยใช้จำนวนเต็มบวกใด ๆ เป็นอินพุต {1,2,3,4 ... } และแสดงการเรียงสับเปลี่ยนทั้งหมดของ Alternating Group An โดยที่ n คืออินพุต / ทั้งหมด พีชคณิตของ Sn ตัวอย่างเช่น:
Input = 3
()
(1 2 3)
(1 3 2)
และ
Input = 4
()
(1 2)(3 4)
(1 3)(2 4)
(1 4)(2 3)
(1 2 3)
(1 3 2)
(1 2 4)
(1 4 2)
(1 3 4)
(1 4 3)
(2 3 4)
(2 4 3)
และเช่นเดียวกับในตัวอย่างที่ฉันต้องการสำหรับทุกรอบของหนึ่งในระยะเวลาที่จะ elided และเป็นเอกลักษณ์นี้: ผลของอะไร
()
{ไม่เพียง แต่วงเล็บ แต่กับสิ่งที่คุณใช้ในการแสดงที่แตกต่างกันพีชคณิต} หรือid
เป็นที่ยอมรับ
การอ่านพิเศษ
คุณสามารถหาข้อมูลเพิ่มเติมได้ที่นี่:
โชคดี
และนี่คือ codegolf ใครก็ตามที่สามารถพิมพ์สลับสับเปลี่ยนของกลุ่ม Alternating ในไบต์ที่สั้นที่สุดชนะ
(2 3 1 4)
ในการเรียงลำดับได้อย่างไร คุณหมายถึงเราควรวางองค์ประกอบที่เล็กที่สุดไว้ข้างหน้าหรือไม่?
(2 3 1 4)
จะ2->3->1->4->2
สามารถเขียน(1 4 2 3)
ด้วยองค์ประกอบที่เล็กที่สุดก่อน
[[1, 2], [3, 4]]
แทนที่จะ(1 2)(3 4)
?