#abc282d. D - Make Bipartite 2
D - Make Bipartite 2
Score : points
问题描述
给定一个包含 个顶点和 条边的简单无向图 (简单图不包含自环或多重边)。对于 ,第 条边连接顶点 和顶点 。
请输出满足以下两个条件的整数对 的数量,其中 。
- 图 中不存在连接顶点 和顶点 的边。
- 在图 中添加一条连接顶点 和顶点 的边后,得到的图是一个二分图。
什么是二分图?
二分图 是一种无向图,其定义为:如果可以将每个顶点涂成黑色或白色,以满足以下条件,则称该图为二分图。
- 没有边连接颜色相同的顶点。
以上为通义千问 qwen-max 翻译,仅供参考。
Problem Statement
You are given a simple undirected graph with vertices and edges (a simple graph does not contain self-loops or multi-edges). For , the -th edge connects vertex and vertex .
Print the number of pairs of integers that satisfy and both of the following conditions.
- The graph does not have an edge connecting vertex and vertex .
- Adding an edge connecting vertex and vertex in the graph results in a bipartite graph.
What is a bipartite graph?
An undirected graph is said to be bipartite if and only if one can paint each vertex black or white to satisfy the following condition.
- No edge connects vertices painted in the same color.
Constraints
- $0 \leq M \leq \min \lbrace 2 \times 10^5, N(N-1)/2 \rbrace$
- The graph is simple.
- All values in the input are integers.
Input
The input is given from Standard Input in the following format:
Output
Print the answer.
Sample Input 1
5 4
4 2
3 1
5 2
3 2
Sample Output 1
2
We have two pairs of integers that satisfy the conditions in the problem statement: and . Thus, you should print .
The other pairs do not satisfy the conditions. For instance, for , the graph has an edge connecting vertex and vertex ; for , adding an edge connecting vertex and vertex in the graph does not result in a bipartite graph.
Sample Input 2
4 3
3 1
3 2
1 2
Sample Output 2
0
Note that the given graph may not be bipartite or connected.
Sample Input 3
9 11
4 9
9 1
8 2
8 3
9 2
8 4
6 7
4 6
7 5
4 5
7 8
Sample Output 3
9
update @ 2024/3/10 11:50:13