题目

水题系列。给出一个图,求他的连通分量。
科普:连通分量就是一个图中可以连接最多点的子图(可以是它本身)的点数量。

输入

5(点的数量)
1 2(表示1和2连通)
3 4
2 3
0 0(表示停止输入)

输出

4


解题思路

Er…这道题没什么难度,反正两种做法(dfs,bfs)都贴出来。


dfs代码

#include<cstdio>
#include<iostream>
using namespace std;
int walk[101],a[101][101],x,y,maxs,n;
int s;
int dfs(int x)
{s++;//表示搜到的点数加walk[x]=true;//封上for (int i=1;i<=n;i++){if (a[i][x] && !walk[i]){dfs(i);//搜索}}
}
int main()
{scanf("%d",&n);while (true){scanf("%d%d",&x,&y);if (x==0 && y==0) break;a[x][y]=true;a[y][x]=true;}for (int i=1;i<=n;i++)if (!walk[i]) {s=0;dfs(i);maxs=max(maxs,s);}//搜出一个子图printf("%d",maxs);
}

bfs代码(不解释)

#include<cstdio>
#include<iostream>
using namespace std;
int walk[101],a[101][101],state[101],x,y,maxs,n;
int head,tail;
int bfs(int x)
{state[1]=x;walk[x]=true;head=0;tail=1;do{head++;x=state[head];for (int i=1;i<=n;i++){if (!walk[i] && a[x][i]){tail++;state[tail]=i;walk[i]=true;}}}while (head<tail);maxs=max(maxs,tail);
}
int main()
{scanf("%d",&n);while (true){scanf("%d%d",&x,&y);if (x==0 && y==0) break;a[x][y]=true;a[y][x]=true;}for (int i=1;i<=n;i++)if (!walk[i]) bfs(i);printf("%d",maxs);
}

ssl1759-求连通分量【图论,深搜,广搜】相关推荐

  1. 深搜广搜专题【DFS】【BFS】

    深搜广搜专题 又是一年专题时,这次的专题是BFS和DFS,我们刚加入acm时的噩梦,然而现在已经写起来很舒服了(OS:那你还A不出题?) BFS和DFS都是通过对所有的点进行遍历来得到结果的,是一种比 ...

  2. 力扣 547. 朋友圈 c语言 三种解法 深搜 广搜 并查集。

    题目: 并查集: /*力扣 547 朋友圈 并查集 c语言 2020/12/14 1:04 by ksks14*/ /*初始化 查找 合并*/ #define maxsize 10000 int fl ...

  3. 简单深搜广搜基本模板

    简单搜索 DFS: 剪枝,条件 容易超时,超时后基本就是剪枝的问题/无限递归?,或者用广搜试试? 模板(自己的理解) int n,m;//一般输入的行列数/边界 int mov[4][2] = {1, ...

  4. 第七届蓝桥杯-剪邮票(深搜+广搜)

    剪邮票 如下图, 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连)比如,下面两个图中,粉红色所示部分就是合格的剪取. 请你计算,一共有多少种不 ...

  5. poj3083 Children of the Candy Corn 深搜+广搜

    这道题有深搜和广搜.深搜还有要求,靠左或靠右.下面以靠左为例,可以把简单分为上北,下南,左西,右东四个方向.向东就是横坐标i不变,纵坐标j加1(i与j其实就是下标).其他方向也可以这样确定.通过上一步 ...

  6. 搜索:深搜/广搜 获取岛屿数量

    题目描述: 用一个二维数组代表一张地图,这张地图由字符"0"与字符"1"组 成,其中"0"字符代表水域,"1"字符代表小 ...

  7. 深搜+广搜——Lake Counting S(洛谷 P1596)

    题目选自洛谷P1596 这道题目我觉得是比较综合的搜索题了,可以用dfs.bfs来解题.下面给出2种方法的思路: 首先,确定什么情况是一个水坑: 对于每一个'w' ,如果在八个方向上有于其相邻的'w' ...

  8. 最是一年留不住,彩云易散琉璃碎---补题模拟,深搜广搜简单题

    链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 题目a 在风景如画,美女如云的SMU生活学习一年后,多金的花样少年JolerJolerJoler练成了见女生必送鲜花的浪漫绝技.这一天,Jo ...

  9. 【算法合集】深搜广搜Prim与Kruskal

  10. 【蓝桥杯省赛】冲刺练习题【深搜广搜】倒计时【09】天

      

最新文章

  1. @class和#import
  2. 美国俄克拉荷马大学秦玮课题组招聘启事
  3. 51nod 1381 硬币游戏 概率
  4. l#039;oracle 酒,【金钟庄园副牌干红葡萄酒Carillon de L#039;angelus】价格_年份_评分 - 酒窝网官网...
  5. cxgrid 行合并单元格_【Excel VBA】如何批量撤销合并单元格?
  6. 全球首个开放应用模型 OAM 开源 | 云原生生态周报 Vol. 23
  7. 语言特性与API设计
  8. 红橙Darren视频笔记 动画讲解 仿58同城 加载动画
  9. idea 删除补丁_带着好奇心去探索IDEA
  10. 【Ajax技术】JQuery的应用与高级调试技巧
  11. [译] REST API 已死,GraphQL 长存
  12. linux 安全删除文件_如何在Linux上安全删除文件
  13. Leetcode刷题114. 二叉树展开为链表
  14. 【数据结构与算法】五、哈希表和链表
  15. 计算机455端口,455端口怎么关闭-455端口关闭的方法 - 河东软件园
  16. 花生日记,购物省钱还能赚钱,淘宝天猫优惠券一网打尽!2018,你还打算将错就错继续做微商吗?...
  17. php框架 s,开源免费的PHP框架|轻量级PHP框架(DecSoft's Humm PHP)下载 V2019.4 官方版 - 比克尔下载...
  18. 在Fedora 12上安装RealPlayer 11
  19. 【基础入门详解】程序员的二维码也要玩出不同色彩,用Python生成动态彩色二维码
  20. 如何绘制三维模型——SolidWorks软件使用简介

热门文章

  1. 墨迹天气android,墨迹天气Android产品分析
  2. 计算机bq,BQ24721部分翻译
  3. java一个界面用另一个界面的值_如何将参数/值从一个弹出窗口传递到Angular2中的另一个弹出窗口...
  4. gbdt 算法比随机森林容易_随机森林与GBDT
  5. 怎么删除mysql的所有文件内容_mysql删除全部数据库
  6. s2 安恒 漏洞验证工具_Struts2漏洞利用工具下载(更新2017-V1.8版增加S2-045/S2-046)
  7. python数据抓取课程_Python爬虫入门教程 21-100 网易云课堂课程数据抓取
  8. marquee滚动起始位置_巧用喵影关键帧制作滚动水印,让视频小偷无可盗
  9. [数据结构]二叉树的性质
  10. poj2182 Lost Cows-线段树