pta 计算机通信(并查集)

article/2025/10/7 20:27:06

有n台计算机,编号为1到n。设定如果计算机a和计算机b可以通信,则计算机b和计算机a亦可以通信;如果计算机a和计算机b可以相互通信,计算机b和计算机c可以相互通信,则计算机a和计算机c亦可以相互通信。现给定某些计算机的可通信情况,请编写程序判断任意两台计算机是否可以通信。

输入格式:

输入第一行为三个整数,n、m和q。n为计算机台数;m为输入的可通信计算机的对数;q为查询数。接下来m行,每行2个整数a和b,表示计算机a和计算机b可以互相通信。接下来q行,每行2个整数c和d,即查询计算机c和d是否可以通信。每行输入的整数以空格间隔,n、m、q均不超过1000。

输出格式:

输出为q行,即对应于输入的q个查询的结果,如果可以通信,则输出1,否则输出0。

输入样例:

3 2 1
1 2
2 3
1 3

输出样例:

1

其实这题就是并查集欸,只要会基本的使用并查集就可以写啦!!!

并查集主要代码思路:

        初始化:每个点的父节点(为自己)及其深度(为1)

        按秩合并:降低高度,增加宽度(加快遍历速度),即选择深度大的作为父节点,但深度一样时随便定义一个为父节点(其深度要加一)

        查找:(路径压缩)查询的过程中,把沿途的每个节点的父节点都设为根节点

        最后就直接查找判断要找的两个是否相通就可以啦!!!

 代码如下:

#include<bits/stdc++.h>
using namespace std;
#define MAXN 6000
int f[MAXN], hight[MAXN];
void init(int n) {//初始化for (int i = 1; i <= n; ++i) {f[i] = i;//父节点为自己hight[i] = 1;//节点i的深度设为1}
}
int find(int x){//查找父节点(路径压缩)
//查询的过程中,把沿途的每个节点的父节点都设为根节点return x == f[x] ? x : (f[x] = find(f[x]));
}
void hebing(int i, int j) {//按秩合并
//降低高度,增加宽度(加快遍历速度)int x = find(i), y = find(j);if (hight[x] <= hight[y])f[x] = y;else f[y] = x;if (hight[x] == hight[y] && x != y)hight[y]++;//深度相同时,将y设为x的父节点,则y树深度加一
}
int main()
{int n, m, num, x, y;cin >> n >> m >> num;init(n);for (int i = 0; i < m; ++i){cin >> x >> y;hebing(x, y);}for (int i = 0; i < num; ++i){cin >> x >> y;printf("%d\n", find(x) == find(y) ? 1 : 0);}return 0;
}

 

 


http://chatgpt.dhexx.cn/article/h8Vvbp45.shtml

相关文章

计算机网络与无线通信系统学习1:计算机通信网概述

一、计算机通信网 计算机通信网通常也简称为计算机网络。它是计算机的运算和处理功能同通信系统的信息传输功能相结合的产物。这两种功能的结合所产生的效果远远超过了它们各自发展所能达到的目标。今天&#xff0c;不管是哪个国家的、从事哪个职业的人&#xff0c;从小孩到老…

计算机网络杨庚第一章答案,《计算机通信与网络》习题答案

杨庚等 编著 第一章习题解答 1.1 什么是计算机网络&#xff1f; 答&#xff1a; 我们可以把计算机网络定义为&#xff1a;把分布在不同地点且具有独立功能的多个计算机&#xff0c;通过通信设备和线路连接起来&#xff0c;在功能完善的网络软件运行下&#xff0c;以实现网络中资…

计算机通信逻辑信号电信号,计算机通信原理

计算机通信的基本原理是将电信号转换为逻辑信号&#xff0c;其转换方式是将高低电平表示为二进制数中的1和0, 再通过不同的二进制序列来表示所有的信息。也就是将数据以二进制中的0和1的比特流的电的电压做为表示&#xff0c;产生的脉冲通过媒介(通讯设备)来传输数据&#xff0…

计算机通信基础及协议

目录 一、计算机连接方式 1.网线直连 2.同轴电缆(Coaxial) 3.集线器&#xff08;Hub&#xff09; 4.网桥&#xff08;Bridge&#xff09; 5.交换机&#xff08;Switch&#xff09; 6.路由器&#xff08;Router&#xff09; 二、MAC地址 1.MAC地址的表示格式 2.MAC地址操作 3.MA…

计算机通信网络知识点总结

计网复习笔记 数字通信优点&#xff1a;抗干扰性强&#xff0c;保密性好&#xff0c;设备易于集成&#xff0c;便于计算机处理 缺点&#xff1a;占用较多的带宽&#xff0c;信道利用率低 数据通信包括&#xff1a;数据传输、数据交换、数据处理 实现任意两台设备之间的通信&…

计算机通信基础知识

文章目录 1.最早的网络通信&#xff08;电路通信&#xff09; 广域网&#xff0c;交换机通信&#xff0c;双方和多方之间。交换电路建立电路连接的网络。 特点&#xff1a; 物理通路被双方独占。 建立链接&#xff0c;使用和释放链接&#xff0c;传输效率低&#xff0c;不适合传…

计算机之间通信原理---CSDN观后感

一、前言 计算机之间通信&#xff0c;主要通过网络通信的5层模型。即 应用层&#xff08;Application Layer&#xff09; 传输层&#xff08;Transport Layer&#xff09; 网络层&#xff08;Network Layer&#xff09; 数据链路层&#xff08;Datalink Layer&#xff09; …

固态硬盘SSD的SLC与MLC和TLC三者的区别

1、具体含义不同&#xff1a; SLC即Single Level Cell&#xff0c;速度快寿命长&#xff0c;价格较贵&#xff0c;约10万次擦写寿命。 MLC即Multi Level Cell&#xff0c;速度一般寿命一般&#xff0c;价格一般&#xff0c;约3000~10000次擦写寿命。 TLC即Trinary Level Cel…

什么是SSD固态硬盘的QLC、SLC、MLC、TLC

概要 本文从SSD结构出发&#xff0c;详细介绍NAND闪存芯片QLC、SLC、MLC、TLC之间的区别、各自的优缺点以及其适用的人群。 ? 目录 一、剖析SSD 二、什么是NAND闪存 三、单层单元&#xff08;Single Level Cell&#xff0c;简称SLC&#xff09; 四、多层单元&#xff08;…

Nand flash 三种类型SLC,MLC,TLC

转载自&#xff1a;http://diy.pconline.com.cn/750/7501340.html 从前&#xff0c;大家谈TLC色变&#xff1b;如今&#xff0c;TLC攻占SSD半壁江山。是的&#xff0c;这个世界就是这么奇妙。 虽然TLC早已占据主流地位&#xff0c;但传言多了、百度多了&#xff0c;不少消费者还…

slc mlc tlc 的 ssd 的区别

转载自&#xff1a;http://diy.pconline.com.cn/750/7501340.html 从前&#xff0c;大家谈TLC色变&#xff1b;如今&#xff0c;TLC攻占SSD半壁江山。是的&#xff0c;这个世界就是这么奇妙。 虽然TLC早已占据主流地位&#xff0c;但传言多了、百度多了&#xff0c;不少消费者还…

SLC、MLC、TLC 和 QLC NAND SSD 之间的区别:哪个更好?

如果你想要一个顶级系统&#xff0c;尤其是用于游戏或内容创作&#xff0c;那么 SSD 是绝对必要的。然而&#xff0c;在你去寻找之前&#xff0c;你应该知道要寻找什么。有多种不同类型的 SSD。就基本的 SSD 存储单元而言&#xff0c;有 SLC、MLC、TLC 和 QLC。其中&#xff0c…

hive实战

1. 安装hive 2. hive实战 3. hive存储模型 4. 深入hql查询语言 5. 参考资料及代码下载 <1>. 安装hive 下载hive&#xff0c;下载地址http://mirror.bjtu.edu.cn/apache//hive/ &#xff0c;解压该文件&#xff1a; xuqiangubuntu:~/hadoop/src/hive$ tar zxvf h…

hive实战 - qiang.xu - 博客园

hive实战 - qiang.xu - 博客园 hive实战 - qiang.xu - 博客园 hive实战 1. 安装hive 2. hive实战 3. hive存储模型 4. 深入hql查询语言 5. 参考资料及代码下载 <1>. 安装hive 下载hive&#xff0c;下载地址http://mirror.bjtu.edu.cn/apache//hive/&#xff0c;解压该…

《深度学习之PyTorch物体检测实战》—读书笔记

随书代码 物体检测与PyTorch 深度学习 为了赋予计算机以人类的理解能力与逻辑思维&#xff0c;诞生了人工智能&#xff08;Artificial Intelligence&#xff0c; AI&#xff09;这一学科。在实现人工智能的众多算法中&#xff0c;机器学习是发展较为快速的一支。机器学习的思…

3D图像重建中的颜色预测误差研究

目录 整体思路&#xff1a;1、本课题的目的、意义1. 描述图像2. 标注图像3、CNN 3D图像重建中的颜色预测误差研究摘 要1 绪 论1.1背景与意义1.2 课题研究内容1.3 3D重建国内外研究现状1.4 深度学习算法研究现状1.4.1 应用于自然语言处理1.4.2 提取立体图像视觉特征1.4.3 图像颜…

python项目开发实例视频-零基础入门Python Web开发到项目实战精讲

课程章节 第1章Mysql基础 1-数据库简介 2-数据库的安装及配置 3-SQL语句规范 4-数据库的相关操作 5-MySQL中支持的数据类型简介 6-MySQL中的存储引擎简介 7-MySQL数据表的创建 8-测试数据类型 9-测试字符串类型 10-测试字符串类型 11-测试日期时间类型 12-测试主键…

Hadoop 和 Spark 知识点整理汇总

文章目录 前言一、LINUX 系统常用命令汇总二、Hadoop 常用命令汇总三、Hadoop 基本概念1. Hadoop 特性2. Hadoop 架构2.1 Hadoop 集群2.2 HDFS2.3. YARN 四、Hadoop HDFS命令1. HDFS 命令通用格式2. 创建与查看 HDFS 目录3. HDFS 与本地计算机之间的文件复制4. 复制与删除 HDFS…

IT转互联网的转行经验

全栈工程师开发手册 &#xff08;作者&#xff1a;栾鹏&#xff09; 架构系列文章 个人经历 选择大学专业 2010年&#xff0c;我20&#xff0c;手机还是2G网络&#xff0c;电脑还是window x&#xff0c;高中毕业&#xff0c;父母只是农村建筑工人&#xff0c;对社会工作完全…

这一套封面的程序员专业书籍你读过哪一本?

以往我们总盯着畅销书&#xff0c;经典书&#xff0c;新书&#xff0c;今天给大家介绍Packt Publishing的程序员专业书籍。这一套封面的程序员书你读过哪一本&#xff1f; 1、Python图像处理实战 [印度] 桑迪潘戴伊&#xff08;Sandipan Dey&#xff09; 著&#xff0c;陈盈&…