ssl1759-求连通分量【图论,深搜,广搜】
题目
水题系列。给出一个图,求他的连通分量。
科普:连通分量就是一个图中可以连接最多点的子图(可以是它本身)的点数量。
输入
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-求连通分量【图论,深搜,广搜】相关推荐
- 深搜广搜专题【DFS】【BFS】
深搜广搜专题 又是一年专题时,这次的专题是BFS和DFS,我们刚加入acm时的噩梦,然而现在已经写起来很舒服了(OS:那你还A不出题?) BFS和DFS都是通过对所有的点进行遍历来得到结果的,是一种比 ...
- 力扣 547. 朋友圈 c语言 三种解法 深搜 广搜 并查集。
题目: 并查集: /*力扣 547 朋友圈 并查集 c语言 2020/12/14 1:04 by ksks14*/ /*初始化 查找 合并*/ #define maxsize 10000 int fl ...
- 简单深搜广搜基本模板
简单搜索 DFS: 剪枝,条件 容易超时,超时后基本就是剪枝的问题/无限递归?,或者用广搜试试? 模板(自己的理解) int n,m;//一般输入的行列数/边界 int mov[4][2] = {1, ...
- 第七届蓝桥杯-剪邮票(深搜+广搜)
剪邮票 如下图, 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连)比如,下面两个图中,粉红色所示部分就是合格的剪取. 请你计算,一共有多少种不 ...
- poj3083 Children of the Candy Corn 深搜+广搜
这道题有深搜和广搜.深搜还有要求,靠左或靠右.下面以靠左为例,可以把简单分为上北,下南,左西,右东四个方向.向东就是横坐标i不变,纵坐标j加1(i与j其实就是下标).其他方向也可以这样确定.通过上一步 ...
- 搜索:深搜/广搜 获取岛屿数量
题目描述: 用一个二维数组代表一张地图,这张地图由字符"0"与字符"1"组 成,其中"0"字符代表水域,"1"字符代表小 ...
- 深搜+广搜——Lake Counting S(洛谷 P1596)
题目选自洛谷P1596 这道题目我觉得是比较综合的搜索题了,可以用dfs.bfs来解题.下面给出2种方法的思路: 首先,确定什么情况是一个水坑: 对于每一个'w' ,如果在八个方向上有于其相邻的'w' ...
- 最是一年留不住,彩云易散琉璃碎---补题模拟,深搜广搜简单题
链接:登录-专业IT笔试面试备考平台_牛客网 来源:牛客网 题目a 在风景如画,美女如云的SMU生活学习一年后,多金的花样少年JolerJolerJoler练成了见女生必送鲜花的浪漫绝技.这一天,Jo ...
- 【算法合集】深搜广搜Prim与Kruskal
✅
- 【蓝桥杯省赛】冲刺练习题【深搜广搜】倒计时【09】天
最新文章
- @class和#import
- 美国俄克拉荷马大学秦玮课题组招聘启事
- 51nod 1381 硬币游戏 概率
- l#039;oracle 酒,【金钟庄园副牌干红葡萄酒Carillon de L#039;angelus】价格_年份_评分 - 酒窝网官网...
- cxgrid 行合并单元格_【Excel VBA】如何批量撤销合并单元格?
- 全球首个开放应用模型 OAM 开源 | 云原生生态周报 Vol. 23
- 语言特性与API设计
- 红橙Darren视频笔记 动画讲解 仿58同城 加载动画
- idea 删除补丁_带着好奇心去探索IDEA
- 【Ajax技术】JQuery的应用与高级调试技巧
- [译] REST API 已死,GraphQL 长存
- linux 安全删除文件_如何在Linux上安全删除文件
- Leetcode刷题114. 二叉树展开为链表
- 【数据结构与算法】五、哈希表和链表
- 计算机455端口,455端口怎么关闭-455端口关闭的方法 - 河东软件园
- 花生日记,购物省钱还能赚钱,淘宝天猫优惠券一网打尽!2018,你还打算将错就错继续做微商吗?...
- php框架 s,开源免费的PHP框架|轻量级PHP框架(DecSoft's Humm PHP)下载 V2019.4 官方版 - 比克尔下载...
- 在Fedora 12上安装RealPlayer 11
- 【基础入门详解】程序员的二维码也要玩出不同色彩,用Python生成动态彩色二维码
- 如何绘制三维模型——SolidWorks软件使用简介
热门文章
- 墨迹天气android,墨迹天气Android产品分析
- 计算机bq,BQ24721部分翻译
- java一个界面用另一个界面的值_如何将参数/值从一个弹出窗口传递到Angular2中的另一个弹出窗口...
- gbdt 算法比随机森林容易_随机森林与GBDT
- 怎么删除mysql的所有文件内容_mysql删除全部数据库
- s2 安恒 漏洞验证工具_Struts2漏洞利用工具下载(更新2017-V1.8版增加S2-045/S2-046)
- python数据抓取课程_Python爬虫入门教程 21-100 网易云课堂课程数据抓取
- marquee滚动起始位置_巧用喵影关键帧制作滚动水印,让视频小偷无可盗
- [数据结构]二叉树的性质
- poj2182 Lost Cows-线段树