12048. Мотузки
Є \(N\) мотузок, пронумерованих від 1 до \(N\). Один кінець кожної мотузки пофарбований у червоний колір, а інший — у синій.
Ви збираєтеся виконати \(M\) операцій зв'язування мотузок. У \(i\)-й операції ви зв’язуєте кінець мотузки \(A_i\) , пофарбований \(B_i\) , з кінцем мотузки \(C_i\) , пофарбований \(D_i\) , де \(R\) означає червоний колір, а \(B\) означає синій. Для кожної мотузки кінець одного кольору не прив’язується кілька разів.
Знайти кількість груп зв’язаних мотузок, які після всіх операцій утворюють цикли, і кількість тих, які не утворюють.
Тут група з’єднаних мотузок {\(v_0 , v_1 ,…, v_{x−1 }\) } утворює цикл, якщо можна переставити елементи \(v\) так, щоб для кожного \(0≤i<x\) мотузка \(v_i\) прив’язана до мотузки \(v_{(i+1) mod x}\) .
Обмеження
- \(1≤N≤2×10^5\)
- \(0≤M≤2×10^5\)
- \(1≤A_i ,C_i ≤N\)
- \((A_i ,B_i ) \neq (A_j ,B_j )\),\(( C_i ,D_i ) \neq (C_j ,D_j )\) \((i \neq j)\)
- \((A_i ,B_i ) \neq (C_j ,D_j )\)
- \(N,M,A_i\) і \(C_i\) цілі числа.
- \(B_i, D_i\) це \(R\) або \(B\)~.
Формат вхідних даних
Перший рядок містить цілі числа \(N,M\).
Наступні \(M\) рядків містять \(A_i, B_i, C_i, D_i\).
Формат вихідних даних
У вихідний потік виведіть \(X\) і \(Y\) у такому порядку, розділивши їх пропуском, де \(X\) — кількість груп з’єднаних мотузок, які утворюють цикли, а \(Y\) — кількість тих, які не утворюють циклів.
Приклад вхідних даних
5 3
3 R 5 B
5 R 3 B
4 R 2 B
Приклад вихідних даних
1 2
Існує три групи з’єднаних мотузок: {1}, {2,4} і {3,5}.
Група мотузок {3,5} утворює цикл, а групи {1} і {2,4} — ні.
Отже, X=1 і Y=2.
Приклад вхідних даних
7 0
Приклад вихідних даних
0 7
Приклад вхідних даних
7 6
5 R 3 R
7 R 4 R
4 B 1 R
2 R 3 B
2 B 5 B
1 B 7 B
Приклад вихідних даних
2 1
Коментарі