Sunteți pe pagina 1din 1

Ministerul Educaţiei Naţionale și Cercetării Științifice

Olimpiada Municipală de Informatică Clasa a X-a


27 ianuarie 2018 Sursa: ID2.cpp, ID2.c, ID2.pas

Problema 1 – careu 100p


Gigel a inventat un nou joc, de această dată utilizând un rebus sub forma de tablă pătratică cu N x N căsuțe. Fiecare
căsuță conține câte o literă mare din alfabetul englez sau caracterul ‘.’. Literele formează pe orizontală sau pe
verticală cuvinte delimitate prin caractere punct sau prin marginile tablei. Cel care joacă trebuie să determine
cuvintele speciale din careu. Punctajul unui cuvânt se calculează ca suma codurilor ASCII ale literelor distincte care
apar în acel cuvânt. Punctajul total al jocului se calculează însumând punctajele literelor distincte ale cuvintelor
speciale distincte. Un cuvânt special îndeplinește simultan condițiile:
 este palindrom
 are lungime maximă relativ la alte cuvinte palindrom

Cerință
Să se scrie un program care sa determine, pentru un careu dat, punctajul maxim și cuvintele care permit obținerea
punctajului maxim. Dacă nu există astfel de cuvinte se va afișa valoarea 0.

Date de intrare
Fișierul de intrare careu.in conține pe prima linie un număr natural n reprezentând dimensiunea careului.
Următoarele n linii conțin fiecare câte n caractere, neseparate prin spații, reprezentând careul. Ultima linie a
fișierului de intrare conține una dintre valorile 1 sau 2 reprezentând cerința.

Date de ieșire
Fișierul de ieșire careu.out conține pentru cerința 1, pe prima linie numărul de cuvinte speciale de valoare
maximă găsite, iar pe următoarele linii se vor scrie aceste cuvinte în ordine alfabetică, câte unul pe linie; pentru
cerința 2, pe prima linie a fișierului de ieșire se va scrie punctajul maxim determinat.

Restricții
 2 <= n <= 50
 Cuvintele sunt scrise cu litere mari și lungimea cuvintelor din soluție trebuie să fie cel puțin 2
 Pentru cerința 1 se acordă 60% din punctaj, iar pentru cerința 2 se acordă 30% din punctaj
 10 puncte se acordă din oficiu

Exemple
careu.in careu.out Explicații
3 0 Nu există nici un cuvânt special de lungime >= 2
A.A
B.A
..C
1
10 8 Cerința 1. Au fost determinate 8 cuvinte speciale
VERDE.CRIN AABAA
DANA.DDDDD AOQOA
VOI.AOQOA. DDDDD
NU.AAOTE.. EOTOE
.UBOBU.AIA EZNZE
EZNGAIETAR NNNNN
ORIOATZULI UBOBU
TURN.NNNNN ZZCZZ
O.ZZCZZ.IU
ELEGATEL.O
1
10 832 Cerința 2. Punctajul maxim pentru cele 8 cuvinte speciale
VERDE.CRIN este 832
DANA.DDDDD 832 = 65+66+67+68+69+78+79+81+84+85+90
VOI.AOQOA. A B C D E N O Q T U Z
NU.AAOTE..
.UBOBU.AIA
EZNGAIETAR
ORIOATZULI
TURN.NNNNN
O.ZZCZZ.IU
ELEGATEL.O
2
Timp maxim de execuţie: 0.5 secunde/test
Memorie totală disponibilă 2 MB din care 2 MB pentru stivă
Dimensiunea maximă a sursei: 10KB

S-ar putea să vă placă și