| Codeforces Round 1053 (Div. 1) |
|---|
| Закончено |
Вам дан неориентированный связный граф $$$G$$$ с $$$n$$$ вершинами и $$$m$$$ рёбрами. Граф не содержит петель и кратных рёбер.
В рамках одной операции вы выполняете по порядку следующее:
Обратите внимание, что ребро, добавленное в результате какой-либо операции, может быть использовано только в будущих операциях, поскольку рёбра добавляются после вывода всех простых путей.
Сделайте граф $$$G$$$ полным не более чем за $$$2$$$ операции. В частности, $$$G$$$ должен содержать каждое ребро $$$(u, v)$$$ с $$$u \lt v$$$ ровно один раз.
Примечание: Вам предоставляются входные файлы для первых $$$10$$$ тестов этой задачи, а также $$$2$$$ программы-чекера (одна на C++, одна на Python) для проверки вашего вывода. Чекеры предполагают, что вы соблюдаете формат ввода и вывода. Вы можете скачать zip-файл из раздела «Материалы соревнования».
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^3$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$3 \leq n \leq 200$$$, $$$n - 1\leq m \leq n(n-1)/2$$$) — количество вершин и рёбер в $$$G$$$, соответственно.
Каждая из следующих $$$m$$$ строк содержит два целых числа $$$u_i$$$, $$$v_i$$$ ($$$1 \leq u_i, v_i \leq n$$$, $$$u_i \neq v_i$$$), представляющих ребро $$$(u_i, v_i)$$$. Граф связный и не содержит петель и кратных рёбер.
Гарантируется, что сумма $$$n^2$$$ по всем наборам входных данных не превосходит $$$4 \cdot 10^4$$$.
Для каждого набора входных данных выведите следующее.
В первой строке выведите количество операций $$$op$$$ ($$$0 \le op \le 2$$$), которые вы хотите выполнить. Для каждой операции:
34 31 21 31 43 31 21 32 35 44 22 33 55 1
2 3 1 2 1 3 4 2 4 1 2 3 4 1 3 2 0 2 4 2 4 2 3 5 2 3 5 1 3 4 4 5 1 4 5 3 2 1 5 3 2 1
В первом наборе входных данных:
| Вывод | Объяснение |
| $$$\texttt{2}$$$ | Количество операций для выполнения ($$$=2$$$). |
| $$$\texttt{3}$$$ | Операция 1. Значение $$$k$$$ ($$$k=3$$$, пути имеют длину $$$2$$$). |
| $$$\texttt{1}$$$ | Число $$$s$$$ простых путей в этой операции ($$$s=1$$$). |
| $$$\texttt{2 1 3}$$$ | Один простой путь; когда операция заканчивается, добавляется ребро $$$(2,3)$$$. |
| $$$\texttt{4}$$$ | Операция 2. $$$k=4$$$ (длина пути $$$3$$$). |
| $$$\texttt{2}$$$ | Будут выведены два простых пути в этой операции ($$$s=2$$$). |
| $$$\texttt{4 1 2 3}$$$ | Первый путь; после операции добавляется ребро $$$(3,4)$$$. |
| $$$\texttt{4 1 3 2}$$$ | Второй путь; после операции добавляется ребро $$$(2,4)$$$. Обратите внимание, что вывод $$$\texttt{4 3 1 2}$$$ не будет корректным, потому что он использует ребро $$$(3,4)$$$, которое появляется только после обработки обоих путей этой операции. |
| Название |
|---|


