当前位置: 首页 > news >正文

7-6 列出连通集

输入样例:

8 6
0 7
0 1
2 0
4 1
2 4
3 5

输出样例:

{ 0 1 4 2 7 }
{ 3 5 }
{ 6 }
{ 0 1 2 7 4 }
{ 3 5 }
{ 6 }

 注:  bfs中 queue的 进 出 顺序一样,可以在进队列时输出,也可在出队列时。

代码:

#include<iostream>
#include<queue>
#include<cstring>
using namespace std;
int mp[10][10],vst[10];
int n,m;
queue<int>q;
void dfs(int u){printf("%d ",u);vst[u]=1;for(int i=0;i<n;i++){if(mp[u][i]&&!vst[i]) dfs(i);}
}
void bfs(){while(q.size()){int u=q.front();q.pop();printf("%d ",u);for(int i=0;i<n;i++){if(mp[u][i]&&!vst[i]) q.push(i),vst[i]=1;}}
}
int main(){cin>>n>>m;for(int i=0;i<m;i++){int x,y; scanf("%d%d",&x,&y);mp[x][y]=mp[y][x]=1;}for(int i=0;i<n;i++){if(vst[i]) continue;printf("{ ");dfs(i);printf("}\n");}memset(vst,0,sizeof(vst));for(int i=0;i<n;i++){if(vst[i]) continue;printf("{ ");q.push(i);vst[i]=1;bfs();printf("}\n");}return 0;
}


http://www.mrgr.cn/news/25936.html

相关文章:

  • 递归函数一二
  • HarmonyOS开发实战( Beta5.0)图片编辑实现马赛克效果详解
  • Games101学习 - 光栅化
  • [ IDE ] 什么是SDK
  • vue2关闭eslint
  • 第二证券:再度下挫,贵州茅台盘中失守1300元,五粮液等创阶段新低
  • 重塑在线软件开发新纪元:集成高效安全特性,深度解析与评估支持浏览器在线编程的系统架构设计
  • 高性能编程:无锁队列
  • dngrep(版本 4.2.46.0)里配置用NotePad++打开文件
  • mysql 8.0 时间维度表生成(可运行)
  • SMB流量分析
  • (不用互三)解密AI创作:提升Prompt提示词的提问技巧
  • CSS---序号使用css设置,counter-reset、counter-increment、content配合实现备注文案的序号展示
  • torch.linspace()
  • java spring boot 动态添加 cron(表达式)任务、动态添加停止单个cron任务
  • 猎板PCB大讲堂:PCB设计铺铜技巧与策略全解析
  • 如何编写智能合约——基于长安链的Go语言的合约开发
  • sicp每日一题[2.7]
  • 高颜值浅色系可视化界面,用在B端,无出其右。
  • (不用互三)AI绘画工具大比拼:Midjourney VS Stable Diffusion该如何选择?