Fişierul intrare/ieşire: | trigrame.in, trigrame.out | Sursă | Concursul Infotehnium 2012 |
Autor | Cristian Francu | Adăugată de | |
Timp execuţie pe test | 1 sec | Limită de memorie | 2048 kbytes |
Scorul tău | N/A | Dificultate |
Trigrame (clasa a 7-a)
Austin Powers este în posesia unui text interceptat de la Dr. Evil, conţinând informaţii cruciale despre viitoarea lui mişcare. Din nefericire textul este codificat. El conţine numai litere mari, litere mici şi cifre. Pentru a-l ajuta pe Austin în munca lui de decodificare el te angajează pe tine în echipa sa tehnică. Tu eşti responsabil pentru furnizarea anumitor statistici.
Un informator din interiorul lui Virtucon, organizaţia doctorului Evil, ne-a furnizat o informaţie importantă: codificarea se bazează pe trigrame, adică pe secvenţe de trei caractere aflate pe poziţii succesive în text. De aceea, Austin ne cere să îi calculăm următoarele date:
- N, numărul de trigrame distincte în textul codificat
- F, cât de des apare cea mai frecventă trigramă
- K, numărul de trigrame care apar de F ori în textul codificat
Cerinţă
Dat textul codificat din posesia lui Austin Powers să se calculeze N, F şi K.
Date de intrare
Fişierul de intrare trigrame.in conţine pe prima linie textul codificat, format numai din caractere litere mari, litere mici si cifre. Textul se termină cu sfârşit de linie.
Date de ieşire
Fişierul de ieşire trigrame.out va conţine o singură linie care conţine cele trei numere N, F şi K, despărţite prin spaţiu.
Restricţii
- Textul codificat are lungime minimă de 3 caractere şi maximă de 1 milion de caractere.
- Pentru afişarea corectă a lui N se acordă 40% din punctaj. Pentru afişarea corectă a lui F şi a lui K se acordă câte 30% din punctaj. Pentru a beneficia de punctaje parţiale, fişierul de ieşire trebuie să conţina 3 valori. N, F şi K se vor identifica după poziţia lor în trigrame.out.
Exemplu
trigrame.in | trigrame.out | Explicaţie |
---|---|---|
ABCABCABC | 3 3 1 | Sunt 3 trigrame distincte: ABC, BCA, CAB. Cea mai frecventă trigramă apare de 3 ori. Există o singură trigramă care apare de 3 ori: ABC |
AbAbAbAb2b22b2Ab2b2 | 9 3 3 | Sunt 9 trigrame distincte: AbA, bAb, Ab2, b2b, 2b2, b22, 22b, b2A, 2Ab. Cele mai dese trigrame apar de 3 ori. Sunt 3 trigrame care apar de 3 ori: AbA, bAb, 2b2 |