I. Множества
2000 мс · 256 МБ · всё или ничего
Реализуйте структуру, хранящую множество чисел, пронумерованных от до . Числа лежат в диапазоне от до , одно число может принадлежать сразу нескольким множествам. Изначально все множества пусты.
Операции:
ADD e s— добавить число в множество номер ;DELETE e s— удалить число из множества номер ; гарантируется, что оно там было;CLEAR s— очистить множество номер ;LISTSET s— вывести содержимое множества в возрастающем порядке, либо , если оно пусто;LISTSETSOF e— вывести номера множеств, в которых лежит число , в возрастающем порядке, либо , если таких нет.
Обратите внимание на : завести массив такого размера нельзя, нужен словарь.
Формат ввода
Первая строка содержит числа , и (, , ) — наибольшее число, номер наибольшего множества и количество запросов.
Следующие строк содержат запросы указанного вида.
Формат вывода
На каждый запрос LISTSET и LISTSETSOF выведите строку с числами через пробел или . На остальные запросы ничего выводить не нужно.
Гарантируется, что правильный вывод не превышает одного мегабайта.
Примеры
ввод
10 10 9 ADD 1 1 ADD 1 2 ADD 2 1 LISTSET 1 LISTSETSOF 1 DELETE 1 1 LISTSET 1 CLEAR 1 LISTSET 1
вывод
1 2 1 2 2 -1
Войдите, чтобы отправлять решения.