Diccionario con comodines

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 6
Dificultad Medio Algoritmos
Mostrar (4) CadenasDFSDiseño de estructurasTrie
Enviar solución

Puntos: 10

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Mantén un diccionario de palabras, inicialmente vacío, con dos operaciones:

  • add w: agrega la palabra \(w\);
  • search w: pregunta si alguna palabra agregada coincide con \(w\), donde \(w\) puede tener puntos .; cada punto coincide con cualquier letra. La coincidencia es con la palabra completa (mismo largo).

Entrada

La primera línea tiene \(q\) \((1 \le q \le 2 \cdot 10^4)\). Siguen \(q\) operaciones. Las palabras tienen entre \(1\) y \(25\) caracteres: letras minúsculas y, en las búsquedas, a lo más dos puntos.

Salida

Para cada search, una línea con true o false.

Ejemplo 1

Entrada

7
add bad
add dad
add mad
search pad
search bad
search .ad
search b..

Salida

false
true
true
true

Comentarios

No hay comentarios por el momento.