Реализуйте структуру данных типа “множество строк”. Хранимые строки – непустые последовательности длиной не более 10 символов, состоящие из строчных латинских букв. Структура данных должна поддерживать операции добавления строки в множество и проверки принадлежности данной строки множеству. Максимальное количество элементов в хранимом множестве не превосходит 10
6.
Входные данные
Каждая строка входных данных задает одну операцию над множеством. Запись операции состоит из типа операции и следующей за ним через пробел строки, над которой проводится операция. Тип операции – один из двух символов: + означает добавление данной строки в множество; ? означает проверку принадлежности данной строки множеству. Общее количество операций во входном файле не превосходит 10
6. Список операций завершается строкой, в которой записан один символ # – признак конца входных данных. При добавлении элемента в множество НЕ ГАРАНТИРУЕТСЯ, что он отсутствует в этом множестве.
Выходные данные
Программа должна вывести для каждой операции типа ? одну из двух строк YES или NO, в зависимости от того, встречается ли данное слово в нашем множестве.
Примеры
№ | Входные данные | Выходные данные |
1
|
+ hello ? hello ? bye + bye ? bye #
|
YES
NO
YES
|