Donada la classe dicc que permet gestionar diccionaris on només hi guardem claus úniques usant tries implementats amb la tècnica d’arbres ternaris de cerca (TST), cal implementar el mètode
Les claus són del tipus string i els símbols utilitzats per construir el trie són els chars de les claus. S’ha usat el char especial ’#’ per indicar la fi de la clau.
Cal enviar a jutge.org la següent especificació de la classe dicc i la implementació del mètode dins del mateix fitxer. La resta de mètodes públics i privats ja estan implementats.
Degut a que jutge.org només permet l’enviament d’un fitxer amb la solució del problema, en el mateix fitxer hi ha d’haver l’especificació de la classe i la implementació del mètode quantes_comencen (el que normalment estarien separats en els fitxers .hpp i .cpp).
Per testejar la classe disposes d’un programa principal que insereix claus en un diccionari i després compta quantes comencen per algun dels caràcters de diferents strings.
Entrada
L’entrada conté dos blocs separats per una línia amb 10 guions (———–). El primer bloc consisteix en una llista de strings: són les claus que tindrà el diccionari. El segon bloc consisteix en una altra llista de strings: cada string conté els caràcters inicials de les claus que volem comptar del diccionari.
Sortida
Per a cada string d’entrada del segon bloc, escriu una línia amb el nombre de claus que comencen per algun dels caràcters que conté aquest string, el text " comencen per " i l’string d’entrada.
Observació
Només cal enviar la classe requerida i la implementació del mètode quantes_comencen. Pots ampliar la classe amb mètodes privats. Segueix estrictament la definició de la classe de l’enunciat.
Per superar els jocs de prova privats, el mètode quantes_comencen ha de visitar només els nodes del trie imprescindibles.
Input
DAU DIT AU AVI CASA COP CAP CAPA OU OLA UN EXTRA FUM FOC ILLA ALA AL ---------- A E I O U AEIOU BCDFGHJKLMNPQRSTVWXYZ DMF
Output
4 comencen per A 1 comencen per E 1 comencen per I 2 comencen per O 1 comencen per U 9 comencen per AEIOU 8 comencen per BCDFGHJKLMNPQRSTVWXYZ 4 comencen per DMF
Input
---------- A AEIOU BCDFGHJKLMNPQRSTVWXYZ
Output
0 comencen per A 0 comencen per AEIOU 0 comencen per BCDFGHJKLMNPQRSTVWXYZ
Input
OCA ---------- O AEIOU BCDFGHJKLMNPQRSTVWXYZ
Output
1 comencen per O 1 comencen per AEIOU 0 comencen per BCDFGHJKLMNPQRSTVWXYZ
Input
CASA CAS ---------- C AEIOU BCDFGHJKLMNPQRSTVWXYZ
Output
2 comencen per C 0 comencen per AEIOU 2 comencen per BCDFGHJKLMNPQRSTVWXYZ