Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | entropy.in, entropy.out | Sursă | ACM-ICPC Faza Nationala 2018 |
Autor | Mihai Calancea | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 524288 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Entropy
În general, faci săptămânal curăţenie în cameră şi ajungi să pui multe lucruri în cămară, ca să nu te gândeşti prea mult la ce vrei să faci cu ele. Faci lunar curăţenie în cămară şi pui pe balcon lucrurile care nu mai încap. Azi faci curat pe balcon şi nu e prea veselă situaţia.
Conform creşterii tale de programator, vei sparge problema în probleme mai mici. Acum te vei ocupa de 3 cutii, fiecare conţinând cărţi, reviste sau ziare. Probabil ar trebui să le arunci pe toate, dar tu îţi doreşti să pui toate cărţile în cutia 1, toate revistele în cutia 2 şi toate ziarele în cutia 3. Cutiile funcţionează ca nişte stive, deci operaţiile posibile sunt de a lua un obiect din vârful unei cutii şi a-l plasa în vârful altei cutii.
Îţi doreşti să plasezi toate obiectele la locul lor folosind un număr rezonabil de operaţii.
Date de intrare
Fişierul de intrare entropy.in va conţine pe prima sa linie valoarea T, reprezentând numărul de teste din fişier. Fiecare test conţine 3 linii, reprezentând conţinutul cutiei 1, 2, respectiv 3. O carte este codificată prin caracterul a, o revistă este codificată prin caracterul b, iar un ziar este codificat prin caracterul c. Vârful cutiei este "la dreapta", i.e ultimul caracter din descrierea unei cutii dă tipul obiectului din vârful cutiei respective.
Date de ieşire
În fişierul de ieşire entropy.out se vor afla T linii, fiecare linie descriind operaţiile care rezolvă testul corespunzător. Pentru o dimensiune redusă a output-ului, operaţiile vor fi codificate astfel:
- O mutare din vârful cutiei 1 în vârful cutiei 2 va fi codificată prin caracterul m.
- O mutare din vârful cutiei 1 în vârful cutiei 3 va fi codificată prin caracterul n.
- O mutare din vârful cutiei 2 în vârful cutiei 1 va fi codificată prin caracterul o.
- O mutare din vârful cutiei 2 în vârful cutiei 3 va fi codificată prin caracterul p.
- O mutare din vârful cutiei 3 în vârful cutiei 1 va fi codificată prin caracterul q.
- O mutare din vârful cutiei 3 în vârful cutiei 2 va fi codificată prin caracterul r.
Astfel, descrierea operaţiilor va fi un şir de caractere de acest tip. Puteţi consulta exemplul pentru clarificări.
Restricţii
- 1 ≤ T ≤ 100
- 1 ≤ Numărul de obiecte dintr-o cutie ≤ 100
- Numărul total de operaţii folosite pentru rezolvarea unui test trebuie să fie cel mult egal cu 1300
Exemplu
entropy.in | entropy.out |
---|---|
1 a b cba | qr |
Explicaţie
Primul test descrie o situaţie fericită în care este suficient să facem două mutări: prima din vârful cutiei 3 către vârful cutiei 1 şi a doua din vârful cutiei 3 către vârful cutiei 2.