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);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可变个数的形参

package com.wdl.day09;/** 可变个数形参的方法** 1.jdk 5.0新增的内容* 2.具体使用&#xff1a;* 2.1 可变个数形参的格式&#xff1a;数据类型 ... 变量名* 2.2 当调用可变个数形参的方法时&#xff0c;传入的参数个数可以是&#xff1a;0个&#xff0c;1个,2个&#xff…

JavaScript表单

JavaScript中表单知识总结 1 readonly和disabled 共同点&#xff1a;都是导致内容不可以更改 区别&#xff1a; readonly&#xff1a;中的内容是可以提交的 disabled&#xff1a;数据是不可以提交的,不可以在被操作 2表单提交的方式 οnsubmit“return sub()” <input t…

.NET 传奇 1.0 的出版过程,以及未来计划

今年五月初开始在微博的头条文章连载《.NET 的一点历史故事》&#xff0c;是一件非常快乐的事情。在各方朋友们的鼓励和支持之下&#xff0c;除去公开连载的八个章节&#xff0c;其后又先后完成其他十个章节&#xff0c;首先通过收费阅读渠道做了分享。到五月底的时候&#xff…

JavaFX UI控件教程(二十七)之File Chooser

翻译自 File Chooser 本章介绍如何使用FileChooser该类使用户能够导航文件系统。本章提供的示例说明了如何打开一个或多个文件&#xff0c;配置文件选择器对话框窗口以及保存应用程序内容。 与其他用户界面组件类不同&#xff0c;FileChooser该类不属于该javafx.scene.contr…

sql server高级查询,看这篇文章就够了

先选择一个数据库 use jobtest go引入&#xff1a;该数据库jobtest里面有两张表&#xff0c;Student学生表和Grade年级表&#xff0c;表中的数据如下所示&#xff1a; 学生表Student&#xff1a; 年级Grade表&#xff1a; 接下来我们来看看sql server中的子查询&#xff1a…

ssl1104-USACO 2.1城堡(foodfill)【图论,广搜】

##前言 由于这道题比较难&#xff0c;有不好描述&#xff0c;我就直接贴题目了。 ##Description 以一个几乎超乎想像的运气&#xff0c;农民约翰在他的生日收到了一张爱尔兰博彩的奖券。 这一张奖券成为了唯一中奖的奖券。 农民约翰嬴得爱尔兰的乡下地方的一个传说中的城堡。 …

直接输出数组的名字不一定是地址值

package com.wdl.day09;/*** 创建人 wdl* 创建时间 2021/8/12* 描述*/ public class ArrayPrintTest {public static void main(String[] args) {int[] arr new int[]{1, 2, 3};System.out.println(arr);//地址值char[] arr1 {a, b,c};System.out.println(arr1);//abc} }

jQuery的简介

jQuery的简介 [1]为什么学习jQuery A、JS书写代码的时候结构比较的臃肿 B、JS获得元素对象的方式比较的单一 C、JS书写的代码浏览器的兼容性比较差 D、JS实现动画的效果比较的麻烦 [2]什么是jQuery javascriptQuery(js库) 目前最流行的JavaScript函数库&#xff0c;对JavaScrip…

JavaFX UI控件教程(二十八)之UI控件的自定义

翻译自 Customization of UI Controls 本章介绍了UI控件自定义的各个方面&#xff0c;并总结了Oracle提供的一些提示和技巧&#xff0c;以帮助您修改UI控件的外观和行为。 您可以通过应用层叠样式表&#xff08;CSS&#xff09;&#xff0c;重新定义默认行为和使用单元工厂来…

好多人都说存储过程很难?认真看这篇文章就够了

何为存储过程&#xff1f;存储过程是在数据库管理系统中保存的、预先编译的并能实现某种功能的sql程序&#xff0c;说直白点&#xff0c;java知道吧&#xff1f;和java的方法一样。每遇到一个新的知识点时&#xff0c;我们都会看看它的优点&#xff0c;从而加深对它学习的欲望&…

下一代的 Actor 模型框架 Proto Actor

ProtoAct 是下一代的 Actor 模型框架&#xff0c;提供了 .NET 和 Go 语言的实现&#xff0c;默认支持分布式&#xff0c;提供管理和监控功能。在过去几年&#xff0c;我们经常看到两种 Actor 模型方法相互竞争&#xff0c;首先是经典的 Erlang/Akka 风格的 Actor 模型&#xff…

ssl1776-游乐场【图论,深搜】

题目 一个游乐场&#xff08;无向图&#xff09;&#xff0c;每个景点&#xff08;点&#xff09;都有一定的开心值&#xff08;价值&#xff09;&#xff0c;一个点只能游玩一次。然后可以从任何一个点出发&#xff0c;求可以游玩的最多项目&#xff08;连通分量&#xff09;…

JQuery $作用

作用1&#xff1a; $(function&#xff08;&#xff09;{}) $就是jQuery的省略写法 1.相当于 window.οnlοadfunction(){} 2.功能比window.onload更强大 1) window onload一个页面只能写一个,但是可以写多个$() 而不冲突 2) window onload要等整个页面加载完后再执行&#xff…

import关键字

在源文件中显式的使用import结构导入指定包下的类、接口 声明在包的声明和类的声明之间 如果需要导入多个结构&#xff0c;则并列写出即可 可以使用"xxx.*"的方式&#xff0c;表示可以导入xxx包下的所有结构 如果使用的类或接口是java.lang包下定义的&#xff0c…

信息学奥赛一本通1349-最优布线问题

【题目描述】 学校有n台计算机&#xff0c;为了方便数据传输&#xff0c;现要将它们用数据线连接起来。两台计算机被连接是指它们有数据线连接。由于计算机所处的位置不同&#xff0c;因此不同的两台计算机的连接费用往往是不同的。 当然&#xff0c;如果将任意两台计算机都用…

你知道i=i++;的含义吗?原理其实没有你想的那么简单

i和i我们都知道&#xff0c;但是你知道ii;吗&#xff1f;自上学时&#xff0c;老师就说i是先赋值再加&#xff0c;而i是先加再赋值&#xff0c;比如我们写个代码举下例子&#xff1a;i:/*** 自增案例*/public static void testZiZeng(){int i 1;int a i;System.out.println(&…

jQuery 的选择器

01、基本选择器 标签选择器 $(“a”) ID选择器 $(“#id”) $(“p#id”) 类选择器 $(“.class”) $(“h2.class”) 通配选择器 $("*") 并集选择器$(“elem1,elem2,elem3”) <script type"text/javascript">$(function(){/*******id选择器*********…

学会思考,而不只是编程

中国人常说“授之以鱼不如授之以渔”。如果说教授编程是授之以鱼&#xff0c;那么教授计算机科学就是授之以渔。为什么说学习计算机科学比学会编程要重要得多&#xff1f;来听听Yevgeniy Brikman的解释。 现如今&#xff0c;似乎每个人都在学习编程&#xff1a;Bill Gates、Ma…

ssl1562-局域网

局域网 题目 就是一个图&#xff0c;求最小生成树&#xff0c;然后求被去除的边的价值。 输入 用线来表示联通 5 5 1 2 8 1 3 1 1 5 3 2 4 5 3 4 2 输出 去除的边的总价值 8 解题思路 求出最小生成树的价值然后线的总值减去最小生成树的价值 代码 #include<…

什么?java中居然可以执行js代码了?真是不知者不怪

今天在书上看的&#xff0c;java中可以直接调用js的函数了&#xff0c;言外之意就是java已经支持外部的脚本语言了&#xff08;在运行期解释执行的&#xff09;&#xff0c;查了查&#xff0c;jdk从1.6之后开始支持的&#xff0c;1.6之前不可以。 为什么Java这种编译语言还需要…