Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | palind.in, palind.out | Sursă | Happy Coding 2 |
Autor | Mugurel Ionut Andreica | Adăugată de | |
Timp execuţie pe test | 0.525 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Palindroame
Un palindrom este un sir de caractere care este egal cu inversul sau. De exemplu "aerisirea" este un palindrom. Dandu-se un sir de caractere vi se cere sa spuneti numarul minim de inversiuni ce trebuie efectuate pentru a-l transforma in palindrom. O inversiune reprezinta schimbarea intre ele a doua caractere adiacente. Pentru a transforma in palindrom "aeriseair" sunt necesare 4 inversiuni:
- schimbam "ai" : "aeriseiar"
- schimbam "ei" : "aerisiear"
- schimbam "ar" : "aerisiera"
- schimbam "er" : "aerisirea"
Date de Intrare (fisierul: palind.in)
Fisierul de intrare va contine mai multe teste. Pe prima linie se va afla numarul T de teste.
Pe fiecare din urmatoarele T teste se va afla un sir de caractere (litere mici ale alfabetului latin). Fiecare linie se termina cu enter.
Date de Iesire (fisierul palind.out)
Fisierul de iesire va contine T linii. Pe linia i se va afla numarul minim pentru a obtine palindrom din sirul de caractere aflat pe linia i+1 in fisierul de intrare sau -1 in cazul in care nu se poate obtine palindrom.
Restrictii
- Numarul de caractere dintr-un sir nu va depasi 105
- T ≤ 105
Exemplu
palind.in | palind.out |
---|---|
4 aeriseair mamad asd aabb | 4 3 -1 2 |