SSL 1759求连通分量(七种做法)

2023-10-22 18:10

本文主要是介绍SSL 1759求连通分量(七种做法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【题目描述】

在这里插入图片描述
在这里插入图片描述

【深搜(邻接矩阵)】

#include<bits/stdc++.h>
using namespace std;
int G[1010][1010],v[1010];
int n,x,y,s,ans=-0x7ffffff;
void dfs(int x)
{for (int i=1;i<=n;i++)if (G[x][i]&&!v[i])v[i]=1,s++,dfs(i);
}
int main()
{cin>>n;cin>>x>>y;while (x&&y){G[x][y]=1,G[y][x]=1;cin>>x>>y;}for (int i=1;i<=n;i++)if (!v[i]){v[i]=1,s=1;dfs(i);ans=max(s,ans);}cout<<ans;return 0;	
}

【深搜(邻接表)】

#include<bits/stdc++.h>
using namespace std;
struct note{int y,next;
}e[1100];
int head[1100],v[1100];
int n,tot,x,y,s,ans=-0x7ffffff;
void dfs(int x)
{v[x]=1;for (int i=head[x];i;i=e[i].next)if (!v[e[i].y])s++,dfs(e[i].y);
}
int main()
{cin>>n;cin>>x>>y;while (x&&y){e[++tot]=(note){y,head[x]},head[x]=tot;e[++tot]=(note){x,head[y]},head[y]=tot;cin>>x>>y;}for (int i=1;i<=n;i++)if (!v[i]){v[i]=1,s=1;dfs(i);ans=max(s,ans);}cout<<ans;return 0;	
}

【广搜 (邻接矩阵)】

#include<bits/stdc++.h>
using namespace std;
int G[1010][1010],q[1100],v[1010];
int n,zz,h,t,x,y,s,ans=-0x7ffffff;
void bfs(int x)
{s=h=1,t=0;q[++t]=x,v[x]=1;while(h<=t){zz=q[h],h++;for (int i=1;i<=n;i++)if (G[zz][i]&&!v[i]){s++,v[i]=1;q[++t]=i;}}
}
int main()
{cin>>n;cin>>x>>y;while (x&&y){G[x][y]=1,G[y][x]=1;cin>>x>>y;}for (int i=1;i<=n;i++)if (!v[i]){memset(q,0,sizeof(q));v[i]=1,s=1;bfs(i);ans=max(s,ans);}cout<<ans;return 0;	
}

【广搜 (邻接表)】

#include<bits/stdc++.h>
using namespace std;
struct note
{int y,next;
} e[1100];
int head[1100],v[1100],q[1100];
int h,t,n,zz,tot,x,y,s,ans=-0x7ffffff;
void bfs(int x)
{s=h=1,t=0;q[++t]=x,v[x]=1;while(h<=t){zz=q[h],h++;for (int i=head[zz];i;i=e[i].next)if (!v[e[i].y]){s++,v[e[i].y]=1;q[++t]=e[i].y;}}
}
int main()
{cin>>n;cin>>x>>y;while (x&&y){e[++tot]=(note){y,head[x]},head[x]=tot;e[++tot]=(note){x,head[y]},head[y]=tot;cin>>x>>y;}for (int i=1;i<=n;i++)if (!v[i]){memset(q,0,sizeof(q));bfs(i);ans=max(s,ans);}cout<<ans;return 0;	
}

【广搜 (邻接表+STL)】

#include<bits/stdc++.h>
using namespace std;
struct note{int y,next;
}e[1100];
int head[1100],v[1100];
int n,zz,tot,x,y,s,ans=-0x7ffffff;
queue<int> q;
void bfs(int x)
{q.push(x);s=v[x]=1;while(!q.empty()){zz=q.front();q.pop();for (int i=head[zz];i;i=e[i].next)if (!v[e[i].y]){s++,v[e[i].y]=1;q.push(e[i].y);}}
}
int main()
{cin>>n;cin>>x>>y;while (x&&y){e[++tot]=(note){y,head[x]},head[x]=tot;e[++tot]=(note){x,head[y]},head[y]=tot;cin>>x>>y;}for (int i=1;i<=n;i++)if (!v[i]){v[i]=1,s=1;bfs(i);ans=max(s,ans);}cout<<ans;return 0;	
}

【深搜 动态数组 】

#include<bits/stdc++.h>
using namespace std;
int v[1010];
int n,x,y,s,ans=-0x7ffffff;
vector<int> G[1010];
void dfs(int x)
{for (int i=0;i<G[x].size();i++){y=G[x][i];if (!v[y]){v[y]=1,s++;dfs(y);}}}
int main()
{cin>>n;cin>>x>>y;while (x&&y){G[x].push_back(y);G[y].push_back(x);cin>>x>>y;}for (int i=1;i<=n;i++)if (!v[i]){s=v[i]=1,dfs(i);ans=max(s,ans);}cout<<ans;return 0;	
}

【广搜 动态数组 】

#include<bits/stdc++.h>
using namespace std;
int v[1010];
int n,zz,x,y,s,ans=-0x7ffffff;
vector<int> G[1010];
queue<int> q;
void bfs(int x)
{q.push(x);v[x]=1;while(!q.empty()){zz=q.front(),q.pop();for (int i=0;i<G[zz].size();i++){y=G[zz][i];if (!v[y]){s++,v[y]=1;q.push(y);}}}
}
int main()
{cin>>n;cin>>x>>y; while (x&&y){G[y].push_back(x);G[x].push_back(y);cin>>x>>y;}for (int i=1;i<=n;i++)if (!v[i]){v[i]=s=1;bfs(i);ans=max(s,ans);}cout<<ans;return 0;	
}

这篇关于SSL 1759求连通分量(七种做法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/262877

相关文章

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

Android逆向(反调,脱壳,过ssl证书脚本)

文章目录 总结 基础Android基础工具 定位关键代码页面activity定位数据包参数定位堆栈追踪 编写反调脱壳好用的脚本过ssl证书校验抓包反调的脚本打印堆栈bilibili反调的脚本 总结 暑假做了两个月的Android逆向,记录一下自己学到的东西。对于app渗透有了一些思路。 这两个月主要做的是代码分析,对于分析完后的持久化等没有学习。主要是如何反编译源码,如何找到

828华为云征文|基于Flexus云服务器X实例的应用场景-拥有一款自己的ssl监控工具

先看这里 写在前面效果图华为云Flexus云服务器X实例介绍特点可选配置购买 连接服务器Uptime-kuma简介开源信息部署准备工作:docker部署命令访问uptime-kuma 基本配置总结 写在前面 作为一个个人开发者,相信你手里肯定也有不少自己的服务,有的服务呢也是https的。 以前ssl各厂都是可以免费申请一年的,我们更换的频率还好,比较小;但是最近,各厂都

TLS和SSL的区别比较

1、定义和组成       SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。   TLS:(Transport

MQTT broker搭建并用SSL加密

系统为centos,基于emqx搭建broker,流程参考官方。 安装好后,用ssl加密。 进入/etc/emqx/certs,可以看到 分别为 cacert.pem CA 文件cert.pem 服务端证书key.pem 服务端keyclient-cert.pem 客户端证书client-key.pem 客户端key 编辑emqx配置:vim /etc/emqx/emqx.conf,添加s

数字证书原理(ssl,https)

说明,文章来源 http://www.360doc.com/content/13/0809/14/1073512_305848184.shtml 想要对 ssl和数字证书 有一个全面了解的人仔细阅读这篇文章。 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows

像素间的关系(邻接、连通、区域、边界、距离定义)

文章目录 像素的相邻像素4邻域D邻域8邻域 邻接、连通、区域和边界邻接类型连通区域边界 距离测度欧氏距离城市街区距离(city-block distance)棋盘距离(chessboard distance) 参考 像素的相邻像素 4邻域 坐标 ( x , y ) (x,y) (x,y)处的像素 p p p有2个水平的相邻像素和2个垂直的相邻像素,它们的坐标是: ( x

【学习笔记】SSL证书安全机制之证书链

前言:CA会给成千上万的Server签发证书,但CA不会直接去签发这么多证书,本篇将给出解释 一、证书链原理解析 我们需知,CA证书预装在浏览器里(不仅仅是浏览器,也可以是一切可以联网的软件);有些时候,操作系统有自己的信任源,软件会用本地的CA证书;无论哪种方式,CA证书是安装在Client的软件里。 如果CA的私钥被泄露了,唯一可以移除对CA的信任的方法是运行某些软件更新。 事实情况是我们

【python requests警告】python3.x requests库取消ssl验证,InsecureRequestWarning: Unverified HTTPS request is be

警告信息: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warni