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

Множини в чотиридольному графі

Множини в чотиридольному графі

Задано граф, вершини якого розділено на \textbf{4} групи, а ребра з'єднують лише вершини з груп I і II, II і III, III і IV, IV і I. Вам потрібно знайти, яку максимальну кількість \textbf{4}-вершинних циклів, що не перетинаються, можна вибрати у цьому графі. Кожний цикл має містити по одній вершині з кожної групи, і вершини з груп I і II, II і III, III і IV, IV і I мають бути з'єднані ребром. \InputFile Перший рядок вводу містить кількість тестів \textbf{T} (\textbf{1} ≤ \textbf{T} ≤ \textbf{10}). Перший рядок кожного тесту містить 4 числа: \textbf{N_1}, \textbf{N_2}, \textbf{N_3}, \textbf{N_4} -- кількості вершин в групах I, II, III та IV (\textbf{1} ≤ \textbf{N_1}, \textbf{N_2}, \textbf{N_4} ≤ \textbf{10}, \textbf{1} ≤ \textbf{N_3} ≤ \textbf{7}). Далі слідують \textbf{2N_1} рядків. \textbf{(2i+1)}-й рядок містить кількість вершин з групи II, суміжних з \textbf{i}-ю вершиною з групи I, а потім -- номери цих вершин. \textbf{(2i+2)}-й рядок містить кількість вершин з групи IV, суміжних з \textbf{i}-ю вершиною з групи I, а потім -- номери цих вершин. (Вершини в кожній групі занумеровані починаючи з \textbf{0}.). Далі слідують \textbf{2N_3} рядків. \textbf{(2i+1)}-й рядок містить кількість вершин з групи II, суміжних з \textbf{i}-ю вершиною з групи III, а потім -- номери цих вершин. \textbf{(2i+2)}-й рядок містить кількість вершин з групи IV, суміжних з \textbf{i}-ю вершиною з групи III, а потім -- номери цих вершин. \OutputFile Виведіть \textbf{T} рядків вигляду "\textbf{Case }#\textbf{A}: \textbf{B}", де \textbf{A} -- номер тесту (починаючи з 1), \textbf{B} -- шукана величина для даного тесту.
Ліміт часу 15 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
2
1 3 2 4
3 0 1 2
4 0 1 2 3
2 0 1
1 0
2 1 2
2 1 3
4 7 4 7
3 0 1 5
3 0 1 5
3 0 2 6
3 0 2 6
3 1 2 6
3 1 2 6
3 0 1 2
3 0 1 2
2 0 2
2 0 2
1 0
1 0
2 1 0
2 1 0
2 0 1
2 0 1
Вихідні дані #1
Case #1: 1
Case #2: 3