12
จำนวนรอบของการเปลี่ยนแปลง
พิจารณาการเปลี่ยนแปลงของจำนวนเต็ม1, ... n, เช่นนี้สำหรับn = 6: [5,2,4,3,6,1] ถ้าคุณดูการเปลี่ยนแปลงเช่นการทำแผนที่จาก[1,2,3,4,5,6]ไป[5,2,4,3,6,1], การเปลี่ยนแปลงสามารถ decomponsed เข้าไปเคลื่อนรอบ รอบเป็นส่วนย่อยขององค์ประกอบที่แมปกัน ยกตัวอย่างเช่น1ได้รับการแมปไป5ซึ่งได้รับการแมปไปซึ่งได้รับการแมปกลับไป6 ดังนั้นหนึ่งรอบเป็น1 [1,5,6]รอบอื่น ๆและ[2] [3,4]ดังนั้นจำนวนรอบ3สำหรับการเปลี่ยนแปลงนี้คือ โดยทั่วไปรอบของการเปลี่ยนแปลงที่จะไม่ซ้ำกัน (ถึงการสั่งซื้อ) และจำนวนรอบสำหรับการเปลี่ยนแปลงของขนาดที่nแตกต่างกันจากการ1n ความท้าทาย รับการเปลี่ยนแปลงที่ไม่ว่างเปล่าส่งออกจำนวนรอบ การป้อนข้อมูลเป็นอาร์เรย์ที่เกิดขึ้นจากnจำนวนเต็ม1, 2, ... , ที่n n > 0จำนวนเต็มแต่ละค่าเกิดขึ้นเพียงครั้งเดียว ลำดับที่ปรากฏจะกำหนดการเปลี่ยนลำดับตามตัวอย่างด้านบน แทนที่จะเป็นอาร์เรย์คุณสามารถใช้รายการสตริงที่มีตัวคั่นระหว่างตัวเลขการป้อนข้อมูลแยกต่างหากสำหรับแต่ละหมายเลขหรืออะไรก็ได้ที่สมเหตุสมผล สำหรับการเปลี่ยนแปลงของขนาดnแทนที่จะเป็น 1 ชุดตามของจำนวนเต็ม1, ... , nคุณสามารถอย่างต่อเนื่องใช้ชุด 0-based 0, ... n-1, ถ้าเป็นเช่นนั้นโปรดระบุไว้ในคำตอบของคุณ รหัสควรใช้งานnได้สูงสุด20ในเวลาที่เหมาะสมพูดน้อยกว่าหนึ่งนาที รหัสกอล์ฟ อนุญาตบิวอินได้ทั้งหมด กรณีทดสอบ สิ่งนี้จะถือว่าอินพุตแบบอิงอาร์เรย์ 1 ตัว …