แรงบันดาลใจจากที่นำมาจากคำถามที่กองล้น
ความท้าทาย
ได้รับจำนวนเต็มผลผลิตอาร์เรย์ทั้งหมดที่สามารถรับได้โดยการเปลี่ยนตรงสองรายการในอาร์เรย์n>1
[1, 2, ..., n]
สามารถผลิตอาร์เรย์ในลำดับใดก็ได้
คุณสามารถใช้[0, 1, ..., n-1]
(ตามพื้นฐาน 0) แทน[1, 2, ..., n]
(ตามพื้นฐาน 1)
กฎเพิ่มเติม
โปรแกรมหรือฟังก์ชั่นที่ได้รับอนุญาตในการเขียนโปรแกรมภาษา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
กรณีทดสอบ
อินพุต2
ให้เอาต์พุต (สมมติว่าเป็นฐาน 1)
2 1
อินพุต3
ให้เอาต์พุต (โปรดสังเกตว่าสามอาร์เรย์สามารถอยู่ในลำดับใดก็ได้)
1 3 2
2 1 3
3 2 1
อินพุต4
ให้เอาต์พุต
1 2 4 3
1 3 2 4
1 4 3 2
2 1 3 4
3 2 1 4
4 2 3 1
อินพุต7
ให้เอาต์พุต
1 2 3 4 5 7 6
1 2 3 4 6 5 7
1 2 3 4 7 6 5
1 2 3 5 4 6 7
1 2 3 6 5 4 7
1 2 3 7 5 6 4
1 2 4 3 5 6 7
1 2 5 4 3 6 7
1 2 6 4 5 3 7
1 2 7 4 5 6 3
1 3 2 4 5 6 7
1 4 3 2 5 6 7
1 5 3 4 2 6 7
1 6 3 4 5 2 7
1 7 3 4 5 6 2
2 1 3 4 5 6 7
3 2 1 4 5 6 7
4 2 3 1 5 6 7
5 2 3 4 1 6 7
6 2 3 4 5 1 7
7 2 3 4 5 6 1
[0 ... n-1]
vs [1 ... n]
! ฉันมักจะรู้สึกรำคาญเล็กน้อยเมื่อต้องกลัด1+
เพราะดัชนี J เป็นศูนย์