Problem
Implementa un albero di ricerca binario bilanciato.
ATTENZIONE! L'uso di vector e set dall'STL è ASSOLUTAMENTE VIETATO, tuttavia si consiglia di sollecitare la soluzione con loro per trovare bug.
Formato di input:
La prima riga contiene un numero n, il numero di operazioni sull'albero. 1 <= n <= 100000.
Quindi vengono fornite n righe – operazioni sugli alberi. Ogni riga contiene una delle seguenti operazioni:
1) inserisci x – aggiungi la chiave x all'albero. Se la chiave x è già nell'albero, non è necessario fare nulla.
2) elimina x – rimuovere la chiave x dall'albero. Se la chiave x non è nell'albero, non è necessario fare nulla.
3) esiste x – se la chiave x è nell'albero, stampa "vero", altrimenti "falso".
Formato di output:
Uscita in sequenza il risultato di tutte le operazioni esiste. Ogni risposta dovrebbe essere visualizzata su una riga separata.
Esempio:
Entra |
Uscita |
6
inserisci 2
inserisci 5
inserisci 3
esiste 3
esiste 4
elimina 5
|
vero
falso |
(c) Kurbatov E., 2016