12123. Додати ребро


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Ми маємо неорієнтований граф з \((N_1 ​+N_2 ​ )\) вершинами та \(M\) ребрами. Для \(i=1,2,…,M\) \(i\)-те ребро з’єднує вершину \(a_i\) ​ та \(b_i ​\). Наступні властивості гарантуються:

  • \(Вершина \)u\( і вершина \)v\( зв’язані для всіх цілих чисел \)u\( і \)v\( з \)1≤u,v≤N_1~ ​.
  • Вершина \(u\) і вершина \(v\) зв’язані, для всіх цілих чисел \(u\) і \(v\) з \(N_1 ​+ 1≤u,v≤N_1 ​+ N_2 ​\) .
  • Вершина 1 і вершина \((N_1 ​+ N_2 )\) роз'єднані.

Виконайте наступну операцію рівно один раз:

  • виберіть ціле число \(u\) з \(1≤u≤N_1\) ​ і ціле число \(v\) з \(N_1 ​+ 1≤v≤N_1 ​+ N_2\) ​ і додайте ребро, що сполучає вершину \(u\) і вершину \(v\). Ми можемо показати, що вершина 1 і вершина \((N_1 ​+ N_2 ​ )\) завжди зв'язані в отриманому графі; отже, нехай \(d\) буде мінімальною довжиною (кількістю ребер) шляху між вершиною 1 і вершиною \((N_1 ​+ N_2 ​ )\).

Знайдіть максимально можливе \(d\), отримане в результаті додавання відповідного ребра, яке потрібно додати.

Дві вершини \(u\) і \(v\) неорієнтованого графа називаються з’єднаними тоді і тільки тоді, коли існує шлях між вершиною \(u\) і вершиною \(v\).

Обмеження

  • \(1≤N_1 ​,N_2 ​ ≤1,5×10^5\)
  • \(0 ≤M≤3×10^5\)
  • \(1≤a_i ≤b_i ≤N_1 ​+ N+2\) ​
  • \((a_i ,b_i ) \neq (a_j ,b_j ​)\), якщо \(i \neq j\).
  • Вершина \(u\) і вершина \(v\) є зв’язними для всіх цілих чисел \(u\) і \(v\) таких, що \(1≤u,v≤N_1 ​\).
  • Вершина \(u\) і вершина \(v\) є зв’язними для всіх цілих чисел \(u\) і \(v\) таких, що \(N_1 ​+ 1≤u,v≤N+1 ​+ N_2 ​ \).
  • Вершина 1 і вершина \((N_1 ​+ N_2 )\) роз'єднані.
  • Усі вхідні значення є цілими числами.

Формат вхідних даних

Перший рядок містить цілі числа \(N_1, N_2,M\).

Наступні  \(M\) рядків містять цілі числа \(a_i, b_i\).

Формат вихідних даних

У вихідний потік виведіть відповідь.

Приклад вхідних даних

3 4 6
1 2
2 3
4 5
4 6
1 3
6 7

Приклад вихідних даних

5

Приклад вхідних даних

7 5 20
10 11
4 5
10 12
1 2
1 5
5 6
2 4
3 5
9 10
2 5
1 4
11 12
9 12
8 9
5 7
3 7
3 6
3 4
8 12
9 11

Приклад вихідних даних

4

Коментарі

Ще немає коментарів.