sicily 4378 connected components in undirected graph
2024-10-13 22:24:30
题意:求图中的连通块数,注意孤立的算自连通!
例如:6个顶点3条路径,其中路径为:1->2 4->5 1->3
那么有(1-2&&1->3) + (4->5) + (6) 共3个连通块!
解法:对每个节点宽搜!
#include<iostream>
#include<memory.h>
#include<queue> using namespace std; bool roads[][];
bool visited[];
int N,M; int main(){ cin >>N >>M;
memset(roads,,sizeof(roads));
memset(visited,false,sizeof(visited));
int from,dest;
for(int i=; i<=M; i++){
cin >> from >> dest;
roads[from][dest] = true;
roads[dest][from] = true;
} queue<int> check;
int num = ;
int cnt = ;
int i;
//breadth-frist search
while(num != N){
for( i=; i<=N;i++){
if(visited[i]== false){
check.push(i);
visited[i]= true;
num++;
cnt++;
break;
}
}
while(!check.empty()){
i = check.front();
for(int j = ; j<=N;j++){
if(roads[i][j] == true && visited[j] == false){
check.push(j);
visited[j] = true;
num++;
}
}
// erase the front node
check.pop();
}
}
cout << cnt <<endl;
return ;
}
最新文章
- C# 与 SQLite的操作
- Diamond使用向导
- Filestream读取或写入文件
- (hzau)华中农业大学第四届程序设计大赛网络同步赛 G: Array C
- contiki-main.c 一 打印观察 <;contiki学习之五>;
- 【几何模板加点小思路】hdu-4998 Rotate
- 函数可重入问题reentrant functions(函数执行过程中可以被中断,允许多个副本)
- Hive 4、Hive 的安装配置(远端MyMql模式)
- ASP.NET MVC5 学习笔记-5 测试
- bzoj4800 [Ceoi2015]Ice Hockey World Championship
- 微信小程序实现滚动加载更多
- 自动红眼移除算法 附c++完整代码
- Android:JNI与NDK(一)
- VM安装centos7
- Linq To Xml操作XML增删改查
- Jackson将对象转换为json字符串时,设置默认的时间格式
- 【22】访问者模式(Visitor Pattern)
- python基础(五)——CGI编程
- WPF Demo13通知项属性+数据绑定(代码层)
- CURLOPT_HEADER