Кількість циклів
Кількість циклів
Формально, шлях у графі - це послідовність, що чергується, вершин та ребер u1
, e1
, u2
, e2
, u3
, ..., uk
, яка починається і завершується вершиною і така, що довільні сусідні вершини та ребра у ній інцидентні.
Цикл - це шлях, початкова і кінцева вершини якого співпадають. У циклі повинно бути хоча б одне ребро.
Простий шлях відрізняється від звичайного шляху тим, що у ньому не може бути вершин, які повторюються.
Простий цикл - це цикл, у якому немає вершин та ребер, що повторюються.
Задано неорієнтовний граф. Підрахуйте, скільки у ньому різних простих циклів. Відмітимо, що цили вважаються однаковими, якщо вони обходять одну і ту ж множину вершин у одному і тому ж порядку, можливо, починаючи при цьому з іншої вершини, або якщо порядок обходу протилежний. Наприклад, цикли з порядком обходу вершин 1, 2, 3, 1 та 2, 3, 1, 2 і 1, 3, 2, 1 вважаються однаковими, а цикли 1, 2, 3, 4, 1 і 1, 3, 4, 2, 1 - ні, оскільки порядок обходу вершин різний.
Вхідні дані
У першому рядку задано кількість вершин n (1 ≤ n ≤ 10) та ребер m у графі, відповідно. Наступні m рядків містять по два числа ui
та vi
(1 ≤ ui
, vi
≤ n, ui
≠ vi
); кожен з таких рядків означає, що у графі існує ребро між вершинами ui
та vi
. У графі немає кратних ребер.
Вихідні дані
Виведіть кількість простих циклів у заданому графі.
3 2 1 2 2 3
0
4 5 1 2 2 3 3 4 4 1 1 3
3