atcoder#ABC282D. [ABC282D] Make Bipartite 2
[ABC282D] Make Bipartite 2
配点 : 点
問題文
個の頂点と 本の辺からなる単純な(すなわち、自己ループも多重辺も含まない)無向グラフ が与えられます。 について、 番目の辺は頂点 と頂点 を結びます。
を満たす整数の組 であって、下記の つの条件をともに満たすものの個数を出力してください。
- グラフ において、頂点 と頂点 を結ぶ辺は存在しない。
- グラフ に、頂点 と頂点 を結ぶ辺を追加して得られるグラフは、二部グラフである。
二部グラフとは?
無向グラフが二部グラフであるとは、下記の条件を満たすように各頂点を黒または白のどちらかの色で塗ることができることを言います。
- 同じ色に塗られた頂点どうしを結ぶ辺は存在しない。
制約
- $0 \leq M \leq \min \lbrace 2 \times 10^5, N(N-1)/2 \rbrace$
- グラフ は単純
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
5 4
4 2
3 1
5 2
3 2
2
問題文中の条件を満たす整数の組 は、 と の つです。よって、 を出力します。 他の組については、例えば、 はグラフ において頂点 と頂点 を結ぶ辺が存在することから、 はグラフ に頂点 と頂点 を結ぶ辺を追加して得られるグラフが二部グラフではないことから、 それぞれ問題文中の条件を満たしません。
4 3
3 1
3 2
1 2
0
与えられるグラフが二部グラフであったり連結であるとは限らないことに注意してください。
9 11
4 9
9 1
8 2
8 3
9 2
8 4
6 7
4 6
7 5
4 5
7 8
9