Ada teorema terkenal bahwa permutasi apa pun dapat diuraikan menjadi satu set siklus . Tugas Anda adalah menulis program sesingkat mungkin untuk melakukannya.
Memasukkan:
Dua baris. Yang pertama berisi angka N
, yang kedua berisi N
bilangan bulat yang berbeda dalam rentang yang [0,N-1]
dipisahkan oleh spasi. Bilangan bulat ini mewakili permutasi N
elemen.
Keluaran:
Satu baris untuk setiap siklus dalam permutasi. Setiap baris harus berupa daftar bilangan bulat yang dipisahkan spasi dalam urutan siklus.
Siklus dapat berupa output dalam urutan apa pun, dan setiap siklus dapat berupa output yang dimulai dari posisi mana pun.
Contoh 1:
8
2 3 4 5 6 7 0 1
Input ini mengkodekan permutasi 0-> 2, 1-> 3, 2-> 4, 3-> 5, 4-> 6, 5-> 7, 6-> 0, 7-> 1. Ini terurai menjadi siklus seperti ini:
0 2 4 6
1 3 5 7
Output yang sama validnya adalah
5 7 1 3
2 4 6 0
Contoh 2:
8
0 1 3 4 5 6 7 2
output yang valid:
0
1
4 5 6 7 2 3
>C.