On vous propose un dictionnaire vide et un nombre n de requêtes. Chaque requête peut être de l’un des deux types suivants :
Type 1 : Insérer une chaîne de caractères dans le dictionnaire.
Type 2 : Vérifier si une chaîne de caractères existe dans le dictionnaire.
Votre objectif est d’implémenter un programme capable de traiter ces requêtes de manière efficace.
Pour chaque requête de type 2, si la chaîne de caractères est présente, affichez Yes, sinon affichez No.
Entrée
L’entrée se compose de plusieurs lignes. La première ligne contient un entier q (1 ≤ q ≤ ), qui représente le nombre de requêtes.
Les q lignes suivantes décrivent les requêtes. Chaque ligne débute par un entier type (1 ou 2), indiquant le type de la requête.
Si type = 1, la ligne est suivie d’un espace et d’une chaîne s (1 ≤ |s| ≤ 1000), correspondant à la chaîne de caractères à insérer dans le dictionnaire. La chaîne ne contient que des lettres minuscules anglaises.
Si type = 2, la ligne est suivie d’un espace et d’une chaîne s (1 ≤ |s| ≤ 1000), correspondant à la chaîne de caractères à vérifier dans le dictionnaire. La chaîne ne contient que des lettres minuscules anglaises.
Il est garanti que la somme des longueurs de toutes les chaînes de requête ne dépasse pas .
Sortie
Pour chaque requête de type 2, affichez Yes si la chaîne de caractères est présente dans le dictionnaire, sinon affichez No.