ในวิชาคณิตศาสตร์มีการเปลี่ยนแปลง σของการสั่งซื้อnเป็นฟังก์ชัน bijective จากเลข 1 ... nกับตัวเอง รายการนี้:
2 1 4 3
แสดงให้เห็นถึงการเปลี่ยนแปลงσดังกล่าวว่าσ (1) = 2 σ (2) = 1 σ (3) = 4 และσ (4) = 3
รากของการเปลี่ยนแปลงσคือการเปลี่ยนแปลงที่เมื่อนำไปใช้กับตัวเองให้σ ตัวอย่างเช่น2 1 4 3
มีรากที่τ3 4 2 1
=
k 1 2 3 4
τ(k) 3 4 2 1
τ(τ(k)) 2 1 4 3
เพราะτ ( τ (k)) = σ (k) สำหรับ1≤k≤nทั้งหมด
อินพุต
รายชื่อของn > 0 จำนวนเต็มทั้งหมดระหว่าง 1 และnรวมเป็นตัวแทนของการเปลี่ยนแปลง การเรียงสับเปลี่ยนมักจะมีรากที่สอง
คุณสามารถใช้รายการ 0 ... n-1แทนตราบใดที่อินพุตและเอาต์พุตของคุณสอดคล้องกัน
เอาท์พุต
สแควร์รูทของการเรียงสับเปลี่ยนก็เป็นเหมือนอาร์เรย์
ข้อ จำกัด
อัลกอริทึมของคุณจะต้องทำงานในเวลาพหุนามในn นั่นหมายความว่าคุณไม่สามารถวนรอบnทั้งหมดได้! พีชคณิตของการสั่งซื้อn
บิลด์อินใดก็ได้ที่ได้รับอนุญาต
กรณีทดสอบ:
โปรดทราบว่าอินพุตจำนวนมากมีเอาต์พุตที่เป็นไปได้หลายรายการ
2 1 4 3
3 4 2 1
1
1
3 1 2
2 3 1
8 3 9 1 5 4 10 13 2 12 6 11 7
12 9 2 10 5 7 4 11 3 1 13 8 6
13 7 12 8 10 2 3 11 1 4 5 6 9
9 8 5 2 12 4 11 7 13 6 3 10 1