Salve a tutti, devo fare un progetto didattico, ma per la prima volta in vita mia, non riesco proprio a partire e riuscire a capire come fare.
Il progetto puo essere fatto, a discrezione dell'utente, in java o c++.Sia S una collezione di stringhe. Ogni stringa in S è associata ad una serie di tag.
Ad esempio la stringa “ruota” è associata ai tag “automobile” e “panoramica”.
Implementare una struttura dati che permetta di gestire l’inserimento di nuove stringhe e la stampa delle stringhe a partire dai tag.
In particolare, le operazioni possibili sono:
- a elem tag1 ... tagN -1: Associa i tag1 ... tagN (N>=1) alla stringa elem (i tag sono separati da uno spazio, il -1 indica la fine della specifica dell’operazione).
- s subtag -1: Stampa il numero di tutte le stringhe distinte associate ai tag riferiti da “subtag” (il -1 indica la fine della specifica dell’operazione).
- La stringa subtag si riferisce a tutti i tag di cui è prefisso. Ad esempio, il subtag aut si riferisce ai tag automobile, auto, autovettura, autista, ecc.
- Se nessun tag è associato al subtag, stampare la stringa speciale
“missing”.
Note:
- Un elemento può apparire più volte in operazioni di add. Esempio:
- a pesca frutta sport -1
- a pesca colore -1
- a pesca frutta sport -1
- a mela frutta -1
- ogni tag può essere associato ad uno o più elementi. Nell’esempio sopra, frutta è associato sia a pesca che a mela.
INPUT
La lettura dovrà avvenire da standard input. Per ogni test, la prima linea contiene il carattere i e un intero n che rappresenta il numero di operazioni da effettuare.
Le restanti n linee contengono le operazioni da effettuare.
OUTPUT
L’output del programma è dato dalle stampe dell’operazione s.
N.B.: L’ultima riga conterrà la stringa “<END>”.
Consigli sulla modalità per crearlo al meglio dell'efficenza??