A. Множество
2000 мс · 256 МБ · всё или ничего
Реализуйте множество целых чисел с тремя операциями: добавить число, удалить число, проверить наличие. Повторное добавление уже имеющегося числа множество не меняет; удаление отсутствующего — тоже.
Встроенными структурами (
std::set,std::map,unordered_set) пользоваться нельзя: задача ровно про то, чтобы написать своё дерево.
Формат ввода
В первой строке — число операций (). В следующих строках — операции: + x добавить, - x удалить, ? x проверить. Все числа целые, по модулю не больше .
Формат вывода
На каждый запрос ? выведите 1, если число есть в множестве, и 0 иначе.
Примеры
ввод
6 + 5 + 7 ? 5 - 5 ? 5 ? 7
вывод
1 0 1
ввод
3 ? 1 - 1 ? 1
вывод
0 0
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.