CF977E.Cyclic Components
普及/提高-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an undirected graph consisting of n vertices and m edges. Your task is to find the number of connected components which are cycles.
Here are some definitions of graph theory.
An undirected graph consists of two sets: set of nodes (called vertices) and set of edges. Each edge connects a pair of vertices. All edges are bidirectional (i.e. if a vertex a is connected with a vertex b, a vertex b is also connected with a vertex a). An edge can't connect vertex with itself, there is at most one edge between a pair of vertices.
Two vertices u and v belong to the same connected component if and only if there is at least one path along edges connecting u and v.
A connected component is a cycle if and only if its vertices can be reordered in such a way that:
- the first vertex is connected with the second vertex by an edge,
- the second vertex is connected with the third vertex by an edge,
- ...
- the last vertex is connected with the first vertex by an edge,
- all the described edges of a cycle are distinct.
A cycle doesn't contain any other edges except described above. By definition any cycle contains three or more vertices.
There are 6 connected components, 2 of them are cycles: [7,10,16] and [5,11,9,15].
给你一个包含 n 个顶点和 m 条边的无向图。你的任务是找出其中构成环的连通分量的数量。
以下是一些图论中的定义:
无向图由两个集合组成:节点集(称为顶点)和边集。每条边连接一对顶点。所有边均为双向的(即若顶点 a 与顶点 b 相连,则顶点 b 也与顶点 a 相连)。一条边不能连接一个顶点与其自身,且任意一对顶点之间至多只有一条边。
当且仅当存在至少一条沿边构成的路径连接顶点 u 和 v 时,u 和 v 属于同一连通分量。
一个连通分量是一个环,当且仅当它的顶点可以重新排序,使得满足以下条件:
- 第一个顶点与第二个顶点之间有一条边,
- 第二个顶点与第三个顶点之间有一条边,
- …
- 最后一个顶点与第一个顶点之间有一条边,
- 上述构成环的所有边互不相同。
环中不包含除上述边之外的任何其他边。根据定义,任意环至少包含三个顶点。
图中共有 6 个连通分量,其中 2 个是环:[7,10,16] 和 [5,11,9,15]。
输入格式
The first line contains two integer numbers n and m (1≤n≤2⋅105, 0≤m≤2⋅105) — number of vertices and edges.
The following m lines contains edges: edge i is given as a pair of vertices vi, ui (1≤vi,ui≤n, ui=vi). There is no multiple edges in the given graph, i.e. for each pair (vi,ui) there no other pairs (vi,ui) and (ui,vi) in the list of edges.
第一行包含两个整数 n 和 m(1≤n≤2⋅105,0≤m≤2⋅105)—— 分别表示顶点数和边数。
接下来的 m 行描述各条边:第 i 条边由一对顶点 vi、ui 给出(1≤vi,ui≤n,ui=vi)。给定图中不存在重边,即对于任意一对 (vi,ui),在边列表中不会出现另一个相同的对 (vi,ui) 或反向对 (ui,vi)。
输出格式
Print one integer — the number of connected components which are also cycles.
输出一个整数——即同时也是环的连通分量的数量。
输入输出样例
输入#1
5 4 1 2 3 4 5 4 3 5
输出#1
1
输入#2
17 15 1 8 1 12 5 11 11 9 9 15 15 5 4 13 3 13 4 3 10 16 7 10 16 7 14 3 14 4 17 6
输出#2
2
说明/提示
In the first example only component [3,4,5] is also a cycle.
The illustration above corresponds to the second example.
在第一个例子中,只有组件 [3,4,5] 同时也是一个环。
上面的示意图对应第二个例子。
输入解题思路,AI测评打分。不知道怎么写?