มีทฤษฎีบทที่รู้จักกันดีว่าคือการเปลี่ยนแปลงใด ๆ ที่สามารถย่อยสลายเป็นชุดของรอบ งานของคุณคือการเขียนโปรแกรมที่สั้นที่สุดเท่าที่จะทำได้
การป้อนข้อมูล:
สองเส้น ตัวแรกประกอบด้วยตัวเลขN
ส่วนที่สองมีN
จำนวนเต็มชัดเจนในช่วง[0,N-1]
คั่นด้วยช่องว่าง จำนวนเต็มเหล่านี้แสดงถึงการเปลี่ยนแปลงของN
องค์ประกอบ
เอาท์พุท:
หนึ่งบรรทัดสำหรับแต่ละรอบในการเปลี่ยนแปลง แต่ละบรรทัดควรเป็นรายการจำนวนเต็มคั่นด้วยช่องว่างตามลำดับวงรอบ
รอบสามารถส่งออกในลำดับใด ๆ และแต่ละรอบสามารถส่งออกเริ่มต้นที่ตำแหน่งใด ๆ
ตัวอย่างที่ 1:
8
2 3 4 5 6 7 0 1
อินพุตนี้เข้ารหัสการเปลี่ยนแปลง 0-> 2, 1-> 3, 2-> 4, 3-> 5, 4-> 6, 5-> 7, 6-> 0, 7-> 1 สิ่งนี้จะสลายตัวเป็นวัฏจักรเช่นนี้:
0 2 4 6
1 3 5 7
ผลลัพธ์ที่ถูกต้องเท่าเทียมกันจะเป็น
5 7 1 3
2 4 6 0
ตัวอย่างที่ 2:
8
0 1 3 4 5 6 7 2
ผลลัพธ์ที่ถูกต้อง:
0
1
4 5 6 7 2 3
>C.