Codeforces Round 694 (Div. 1) |
---|
Закончено |
В ЛКШ на территории Летово школьники будь жить в домиках. Некоторые пары домиков соединены крытыми переходами, по которым можно перемещаться в обоих направлениях. В некоторых из этих домиках будут жить преподаватели, но из соображений безопасности они не могут быть размещены произвольным образом. А именно, должны выполняться следующие условия:
Помогите организаторам выбрать домики, в которых будут жить преподаватели, так, чтобы выполнялись все требования безопасности, или определите, что это невозможно.
В первой строке дано одно целое число $$$t$$$ ($$$1 \le t \le 10^5$$$), обозначающее количество наборов входных данных.
Описание каждого набора входных данных начинается с двух чисел $$$n$$$ и $$$m$$$ ($$$2 \le n \le 3 \cdot 10^5$$$, $$$0 \le m \le 3 \cdot 10^5$$$) — количества домиков и переходов.
Далее следуют $$$m$$$ строк, в каждой из которых даны числа $$$u$$$ и $$$v$$$ ($$$1 \le u, v \le n$$$, $$$u \neq v$$$), описывающие переход между домами $$$u$$$ и $$$v$$$. Гарантируется, что между любыми двумя домами существует не более одного перехода, и никакой переход не соединяет домик сам с собой.
Сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$, и сумма $$$m$$$ по всем наборам входных данных не превосходит $$$3 \cdot 10^5$$$.
Для каждого набора входных данных в первой строке выведите «YES», если организаторы могут поселить преподавателей так, чтобы выполнялись требования безопасности, и «NO» в противном случае. Если ответ «YES», то во второй строке выведите количество домов, в которые нужно поселить преподавателей, а в третьей строке — номера выбранных домов.
2 3 2 3 2 2 1 4 2 1 4 2 3
YES 2 1 3 NO
1 17 27 1 8 2 9 3 10 4 11 5 12 6 13 7 14 8 9 8 14 8 15 9 10 9 15 10 11 10 15 10 17 11 12 11 17 12 13 12 16 12 17 13 14 13 16 14 16 14 15 15 16 15 17 16 17
YES 8 1 3 4 5 6 9 14 17
Следующая картинка соответствует второму примеру из условия:
Название |
---|