Problema face parte din clasa problemelor "de idee". In cadrul barajelor
pentru calificarea la Olimpiada Internationala, numai unui membru al lotului
"i-a picat fisa", dar pana si el a implementat din pacate gresit.
Sunt foarte curios daca Florian A. si Florin G. au stiut dinainte ideea de
rezolvare. Ii rog mult sa-mi trimita un e-mail sa ma dumireasca. In caz ca
nu au stiut rezolvarea dinainte, ii felicit foarte, foarte mult.
Si acum...
Ideea de rezolvare
Existau trei cazuri:
1) Daca permutarea data era cea identica numarul necesar de minute era 0;
2) Daca permutarea data continea numai cicluri de lungime 2, numarul necesar
de minute era 1;
3) Daca permutarea continea cel putin un ciclu de lungime mai mare decat 2,
atunci numarul necesar de minute era 2 !!!!!!!
Voi detalia cazul 3. In cadrul acestui pas, se actiona separat pentru
fiecare ciclu din interiorul permutarii.
Fie ciclul de lungime p:
a1 a2 a3 ... ap-2 ap-1 ap
a2 a3 a4 ... ap-1 ap a1
In primul minut schimbam a1 cu ap, a2 cu ap-1 etc. Daca ciclul are
lungime impara, atunci elementul din mijloc ramane neschimbat. Se va ajunge
la urmatoarea configuratie:
a1 a2 a3 ... ap-2 ap-1 ap
a1 ap ap-1 ... a4 a3 a2
In cel de-al doilea minut schimbam a2 cu ap, a3 cu ap-1 etc. Remarcam ca
ajungem la configuratia dorita pentru ciclul respectiv:
a1 a2 a3 ... ap-2 ap-1 ap
a1 a2 a3 ... ap-2 ap-1 ap
Se va proceda in mod analog pentru fiecare ciclu, ajungandu-se in final
la permutarea identica.
|
|