eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Розфарбування графа

Розфарбування графа

Вам потрібно написати програму, яка пробує знайти оптимальне розфарбування для заданого графа. Фарбування застосовується до вершин графа і доступні лише два кольори: чорний та білий. Розфарбування графа називається оптимальним, якшо у ньому максимальна кількість чорних вершин. Розфарбування обмежено тим правилом, що не може бути двох суміжних чорних вершин. \includegraphics{https://static.e-olymp.com/content/37/37877d420c9391068ceee575f703d7b0aaf4f65a.jpg} \textit{Рисунок 1}: оптимальный граф з трьома чорними вершинами \InputFile Граф задається множиною вершин, позначенных числами \textbf{1}...\textbf{n}, \textbf{n} ≤ \textbf{100}, та набором неорієнтовних ребер, заданих парами чисел -- номерами вершин (\textbf{n_1}, \textbf{n_2}), \textbf{n_1} ≠ \textbf{n_2}. Вхідний файл містить \textbf{m} графів. Число \textbf{m} задано у першому рядку. У першому рядку опису кождого графа містяться числа \textbf{nі}и \textbf{k}, кількість вершин та кількість ребер, відповідно. Наступні \textbf{k} рядків містять ребра - пари номерів вершин, відокремлених пропуском. \OutputFile Вихідні дані повинні містити \textbf{2m} рядків, по два рядки для кожного графа, заданого у вхідних даних. Перший рядок повинен містити максимальну кількість вершин графа, які можуть бути пофарбовані у чорний колір. Другий рядок повинен містити одну з можливих оптимальних рохфарбовок. Вона задається списком чорних вершин, відокремлених пропуском.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
1
6 8
1 2
1 3
2 4
2 5
3 4
3 6
4 6
5 6
Вихідні дані #1
3
1 4 5