В граф-теоріякод прюферово є унікальною послідовністю цілих чисел , яке позначає конкретне дерево.
Ви можете знайти код дерева Прюфера за допомогою наступного алгоритму, взятого з Вікіпедії:
Розглянемо мічене дерево T з вершинами
{1, 2, ..., n}
. На етапі i видаліть аркуш з найменшою міткою і встановіть i- й елемент послідовності Prüfer таким, що є міткою сусіда цього листа.
(Зауважте, що оскільки це листок, у нього буде лише один сусід).
Ви повинні зупинити ітерацію, коли на графіку залишаються лише дві вершини.
Завдання
Враховуючи позначене дерево як вхідний висновок, його код Prüfer. Ви можете брати участь у будь-який розумний спосіб. Наприклад, матриця суміжності або ваші мови, побудовані в графічному поданні. ( Ви не можете приймати дані як код Prüfer ).
Це є код-гольф тому ви повинні прагнути мінімізувати байти у своєму джерелі.
Тестові справи
Ось деякі входи в ASCII з їх результатами нижче. Вам не потрібно підтримувати вхід ASCII таким чином.
3
|
1---2---4---6
|
5
{2,2,2,4}
1---4---3
|
5---2---6---7
|
8
{4,4,2,6,2,5}
5---1---4 6
| |
2---7---3
{1,1,2,7,3}
[[2,1],[2,3],[2,5],[2,4,6]]
до першого випадку? (тобто кожна гілка)