无向图求连通块的个数问题
来源:互联网 发布:美剧下载 知乎 编辑:程序博客网 时间:2024/06/03 00:18
Input
输入的第一行包含两个整数n和m,n是图的顶点数,m是边数。1<=n<=100,0<=m<=10000。
以下m行,每行是一个数对u v,表示存在边(u,v)。顶点编号从1开始。
Output
单独一行输出连通块的数目
#include<iostream>#include<queue>using namespace std;int adjacency[101][101];bool visited[101];int main() { int i, j, k, m, n, count, num; cin >> n >> m; for (i = 1; i <= n; i++) { visited[i] = false; for (j = 1; j <= n; j++) { adjacency[i][j] = 0; } } for (i = 0; i < m; i++) { cin >> j >> k; adjacency[j][k] = 1; adjacency[k][j] = 1; } queue<int>q; count = n; num = 0; while (count > 0) { for (i = 1; i <= n; i++) { if (!visited[i]) { q.push(i); visited[i] = true; count--; num++; break; } } while (!q.empty()) { j = q.front(); q.pop(); for (k = 1; k <= n; k++) { if (!visited[k] && adjacency[j][k] == 1) { q.push(k); visited[k] = true; count--; } } } } cout << num << endl;}
0 0
- 无向图求连通块的个数问题
- 关于求无向图的连通分量的个数
- 求无向图的连通分量
- java版无向图的深度优先搜索,求连通图个数
- 计算无向图中连通块的数目
- 无向连通图的生成树个数
- 无向连通图的生成树个数
- 无向连通图的生成树个数
- [容易] 并查集的优雅实现(实例:求无向图最大连通块结点数)
- 求无向图割顶,桥,删除点后增加的连通块数
- 使用 mapreduce 求无向图的连通子图
- 求无向图中桥的数量 强连通图
- 求无向图的连通分量 算法
- 求无向连通图的割点
- 求无向连通图的割点
- 求无向连通图的割点(图论)
- 求无向连通图的割点
- Tarjan算法求BCC(无向图连通块、割边、割点)
- Matlab arenstorf problem
- Matlab illustrate stiffness
- UIView 的图层关系
- 基于经济行为的推荐系统
- CALayer及UIView layer 的对应关系
- 无向图求连通块的个数问题
- 友之道
- 并查集的基本思路
- [模拟][NOIP2011] (提高组)D1 T1 铺地毯
- 用图形界面获取连接字符串
- 微信公众平台开发(71)OAuth2.0网页授权
- iOS开发之Block(4)
- Zend Framework1-application.ini
- 如何处理在风暴英雄中选择"进行游戏"死机的问题