Codeforces Global Round 8 |
---|
Закончено |
Артур — владелец горнолыжного курорта. На горе расположено $$$n$$$ площадок, пронумерованных от $$$1$$$ до $$$n$$$, начиная с вершины и заканчивая подножьем горы. Площадки соединены однонаправленными треками. Все треки направлены от вершины к подножью, поэтому они не могут образовывать направленных циклов. Из каждой площадки исходит не более, чем две трека, но в одну и ту же площадку может входить любое количество треков.
Лыжник может спуститься с одной из площадок до другой, если существует путь из треков, которая ведёт из стартовой площади в конечную. К сожалению, в последнее время участились несчастные случаи из-за того, что лыжники, спускающийся по опасному пути, набирают слишком большую скорость и ставят в опасность себя и окружающих. Путь считается опасным, если он состоит из двух или более треков.
Артур хочет обезопасить своих клиентов и закрыть несколько площадок таким образом, чтобы устранить опасные пути. Если площадка закрыта, все треки, входящие и исходящие из этой площадки, также закрываются.
Формально, после закрытия площадок в оставшейся части не должно существовать пути из двух или более треков.
Артур не хочет закрывать слишком много площадок. Он будет доволен, если удастся найти способ закрыть не более $$$\frac{4}{7}n$$$ площадок, чтобы оставшаяся часть была безопасна. Помогите ему найти любой способ этого добиться.
В первой строке записано одно положительное целое число $$$T$$$ — количество наборов входных данных. После этого следует $$$T$$$ блоков с описанием наборов входных данных.
Первая строка каждого блока содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \leq n \leq 2 \cdot 10^5$$$) — количество площадок и треков соответственно.
Следующие $$$m$$$ строк описывают треки. Каждая из этих строк содержит два целых числа $$$x$$$ и $$$y$$$ ($$$1 \leq x < y \leq n$$$) — номера стартовой и финишной площадки очередного трека. Гарантируется, что из каждой площадки исходит не более двух треков. Могут существовать треки, у которых и начала, и концы совпадают.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.
Для каждого набора входных данных выведите одно целое число $$$k$$$ ($$$0 \leq k \leq \frac{4}{7}n$$$) — количество площадок, которые нужно закрыть. В следующей строке выведите $$$k$$$ различных целых чисел — номера площадок, которые нужно закрыть, в любом порядке.
Если существует несколько ответов, разрешается вывести любой из них. Обратите внимание, что минимизировать $$$k$$$ не требуется. Можно показать, что подходящий ответ всегда существует.
2 4 6 1 2 1 3 2 3 2 4 3 4 3 4 7 6 1 2 1 3 2 4 2 5 3 6 3 7
2 3 4 4 4 5 6 7
В первом наборе входных данных можно закрыть любые две площадки.
Во втором наборе входных данных закрыть только площадку $$$1$$$ также является корректным.
Название |
---|