ambigram
Un sir de caractere se numeste ambigrama daca el arata identic când rotim foaia de hârtie pe care este scris cuvântul cu 180 de grade în jurul unei axe perpendiculare pe suprafata foii. Dându-se un cuvânt dorim sa îl transformam într-o ambigrama, prin modificarea sau stergerea unor litere din sir.
Cuvântul dat este scris cu litere mari ale alfabetului englez. Se observa ca:
Câteva exemple de ambigrame sunt: MOW, XXXXXXXX, XMIWX, HXHXHXH.
Dorim sa realizam modificari cât mai mici asupra sirului dat pentru a produce o ambigrama. Modificarile permise sunt:
Cerinta
Se cere sa se scrie un program care determina pentru un cuvânt dat, ambigrama obtinuta cu cost minim prin operatiile descrise mai sus. Daca exista mai multe ambigrame de acelasi cost minim se va determina cea de lungime maxima. Daca si asa se obtin mai multe solutii se va determina pe cea mai mica în ordine alfabetica (lexicografica). Un sir vid nu este o ambigrama.
Date de intrare
Pe prima linie a fisierului de intrare ambigram.in se gaseste sir de caractere pentru care trebuie determinata ambigrama.
Date de iesire
Prima linie a fisierului de iesire ambigram.out va contine un numar natural reprezentând costul minim pentru a transforma cuvântul dat într-o ambigrama, iar a doua linie a fisierului de iesire va contine un sir de caractere reprezentând ambigrama obtinuta din sirul dat.
Restrictii
Exemplu
ambigram.in | ambigram.out | Explicatii |
BXAJ |
25 |
Observatie: Cu acelasi cost se obtine si ambigrama I (se sterg B, X si A si se înlocuieste J cu I) dar lungimea acestui sir este mai mica. |
Timp maxim de executie/test: 0.1 secunde
prof. Carmen
Popescu
Colegiul National
"Gheorghe Lazar" Sibiu
carmen_cngl@yahoo.com