atcoder#ABC293D. [ABC293D] Tying Rope

[ABC293D] Tying Rope

题目描述

一方の端が赤に塗られており、もう一方の端が青に塗られているロープが N N 本あります。ロープには 1 1 から N N までの番号がつけられています。

これからロープの端を結ぶ操作を M M 回行います。i i 回目の操作ではロープ Ai A_i の色 Bi B_i の端とロープ Ci C_i の色 Di D_i の端を結びます。ただし、色 R は赤を意味し、色 B は青を意味します。各ロープについて、同じ色の端が複数回結ばれることはありません。

すべての操作を終えた後に、ひとつながりになっているロープの組について環状になっているものとそうでないものの個数を出力してください。

ただし、ひとつながりになっているロープの組 { v0, v1, , vx1 } \lbrace\ v_0,\ v_1,\ \ldots,\ v_{x-1}\ \rbrace が環状になっているとは、v v の要素の順序を適切に入れ替えることで各 0  i < x 0\ \leq\ i\ <\ x についてロープ vi v_i とロープ v(i+1) mod x v_{(i+1)\ \bmod\ x} が結ばれているようにできることをいいます。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M A1 A_1 B1 B_1 C1 C_1 D1 D_1 A2 A_2 B2 B_2 C2 C_2 D2 D_2 \vdots AM A_M BM B_M CM C_M DM D_M

输出格式

ひとつながりになっているロープの組について、環状になっているものの個数を X X 、そうでないものの個数を Y Y として X X Y Y をこの順に空白区切りで出力せよ。

题目大意

nn 条绳子,每个绳子有两端,用字母 RB 表示。有 mm 个操作,将两条绳子各自的一端(给定)连接,保证不重复、不自己连接。最后输出两个整数,第一个代表联通的绳子中形成环的数量,第二个是没有形成环的,单独的绳子也算。

5 3
3 R 5 B
5 R 3 B
4 R 2 B
1 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

提示

制約

  • 1  N  2 × 105 1\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 0  M  2 × 105 0\ \leq\ M\ \leq\ 2\ \times\ 10^5
  • 1  Ai, Ci  N 1\ \leq\ A_i,\ C_i\ \leq\ N
  • $ (A_i,\ B_i)\ \neq\ (A_j,\ B_j),\ (C_i,\ D_i)\ \neq\ (C_j,\ D_j) $ (i  j) (i\ \neq\ j)
  • (Ai, Bi)  (Cj, Dj) (A_i,\ B_i)\ \neq\ (C_j,\ D_j)
  • N, M, Ai, Ci N,\ M,\ A_i,\ C_i は整数
  • Bi, Di B_i,\ D_i RB のいずれか

Sample Explanation 1

ひとつながりになっているロープの組は { 1 } \lbrace\ 1\ \rbrace { 2,4 } \lbrace\ 2,4\ \rbrace { 3,5 } \lbrace\ 3,5\ \rbrace 3 3 つです。 ロープ { 3,5 } \lbrace\ 3,5\ \rbrace の組は環状になっており、ロープ { 1 } \lbrace\ 1\ \rbrace { 2,4 } \lbrace\ 2,4\ \rbrace の組は環状になっていません。したがって、X = 1, Y = 2 X\ =\ 1,\ Y\ =\ 2 です。