100 atcoder#AGC011C. [AGC011C] Squared Graph

[AGC011C] Squared Graph

题目描述

高橋君は,N N 頂点 1 1 , 2 2 , ..., N N からなる無向グラフをもらいました. このグラフの辺は (ui, vi) (u_i,\ v_i) で表されます. このグラフには,自己辺や多重辺は存在しません.

高橋君は,このグラフをもとに,N2 N^2 頂点 (a, b) (a,\ b) (1  a  N 1\ \leq\ a\ \leq\ N , 1  b  N 1\ \leq\ b\ \leq\ N ) からなるグラフを作ることにしました. このグラフの辺は,次の規則で定まります.

  • 元のグラフにおいて a a a a' の間および b b b b' の間の両方に辺があるとき,またそのときに限り,(a, b) (a,\ b) (a, b) (a',\ b') の間に辺を張る.

このようにして作ったグラフの連結成分の個数を求めてください.

输入格式

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

N N M M u1 u_1 v1 v_1 u2 u_2 v2 v_2 : uM u_M vM v_M

输出格式

高橋君の作ったグラフの連結成分の個数を出力せよ.

题目大意

给定一张有 nn 个点,mm 条边的原图,现构成一张新图,其中每个点都是一个二元组 (a,b)(a, b)

两个二元组 (a,b),(c,d)(a, b),(c, d) 有边当且仅当 aacc 有边且 bbdd 有边。

求新图联通块个数。

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

提示

制約

  • 2  N  100,000 2\ \leq\ N\ \leq\ 100,000
  • 0  M  200,000 0\ \leq\ M\ \leq\ 200,000
  • 1  ui < vi  N 1\ \leq\ u_i\ <\ v_i\ \leq\ N
  • ui = uj u_i\ =\ u_j かつ vi = vj v_i\ =\ v_j を満たすような異なる i, j i,\ j の組は存在しない

Sample Explanation 1

高橋君の作ったグラフは下のようになります. ![](https://atcoder.jp/img/agc011/6d34a4ddeba67b2286c00acda56abbcc.png)