当前位置: 首页 > news >正文

农场--Kruskal应用--c++

【题目要求】

农场里有一些奶牛,作为食物的草料不够了。农场主需要去别的农场借草料。该地区有N (2 <= N <= 2,000) 个农场,农场名称用数字N标识,农场之间的道路是双向的,一共有M (1 <= M <= 10,000)条道路,单条长度不超过1,000,000,000里。有一些农场之间有多条道路相连。所有农场都有通路,连接到农场主的农场。农场主的农场是1号农场,他从自己的农场出发,去所有的农场借草料。

农场主需要在路上携带足够的水,假设马跑完一里路需要1盎司的水,在任意一个农场都可以补充水。那么他应该携带一个多大容量的水壶呢?

【思路】

求最小生成树,并找到生成树中的最长路径即为所求。

【输入输出】

输入:

第一行输入 N M

下面多行,每一行表示起点农场编号 终点农场编号 路径长度

输出:

水壶的容量,单位为盎司

【测试数据】

【样例输入】

3 3

1 2 12

2 3 123

1 3 50
【样例输出】

50

【代码--不用类】

#include<iostream>
#include<string>
using namespace std;
int arc[1000][1000];
int edgeNUM;  //边个数
int vertexNUM; //地点个数
//记录起始位置,终点位置,权值的结构体
struct Edge
{int from, to;int weight;
};//查找根节点
int findRoot(int parent[], int v)
{while (parent[v] != -1){v = parent[v];}return v;
}int main()
{cin >> vertexNUM >> edgeNUM;Edge e[1000];//输入for (int i = 0; i < edgeNUM; i++){cin >> e[i].from;cin >> e[i].to;cin >> e[i].weight;}//对权值进行排序Edge temp;for (int j = 0; j < edgeNUM - 1; j++){for (int i = 0; i < edgeNUM - 1 - j; i++){if (e[i].weight > e[i + 1].weight){temp = e[i];e[i] = e[i + 1];e[i + 1] = temp;}}}int parent[1000] ;  //记录根节点的数组//初始化for (int i = 0; i < vertexNUM; i++){parent[i] = -1;}int k = 0;int min[1000] = { 0 };for (int i = 0; i < edgeNUM; i++){if (i >= 1 && e[i - 1].from == e[i].from && e[i].to == e[i - 1].to){//筛选掉两地之间其他路径的情况,只考虑最短的那条路,因为前面已经对路径从小到大排了序,所以这里可以直接略过较长路径}else{int a = e[i].from;int b = e[i].to;//找到所在生成树的根节点int vex1 = findRoot(parent, a - 1); //因为题目下标是从1开始,而数组下标是从0开始,所以需要-1int vex2 = findRoot(parent, b - 1);//判断是否成环,如果两个节点的根节点下标不相等,不成环if (vex1 != vex2){   //合并生成树parent[vex2] = vex1;min[k] = e[i].weight;  //记录权值k++;}}}//遍历min找到最小生成树中的最长距离,即为农夫要带的水壶最大容量int MIN = min[0];for (int i = 0; i < k; i++){if (MIN < min[i]){MIN = min[i];}}cout << MIN;return 0;
}

相关文章:

农场--Kruskal应用--c++

【题目要求】 农场里有一些奶牛&#xff0c;作为食物的草料不够了。农场主需要去别的农场借草料。该地区有N (2 < N < 2,000) 个农场&#xff0c;农场名称用数字N标识&#xff0c;农场之间的道路是双向的&#xff0c;一共有M (1 < M < 10,000)条道路&#xff0c;单…...

【Crypto】Rabbit

文章目录 一、Rabbit解题感悟 一、Rabbit 题目提示很明显是Rabbit加密&#xff0c;直接解 小小flag&#xff0c;拿下&#xff01; 解题感悟 提示的太明显了...

IRFB3207PBF TO-220 N沟道75V/180A 直插MOSFET场效应管

英飞凌&#xff08;Infineon&#xff09;的 IRFB3207PBF 是一款高性能的 N 沟道 MOSFET&#xff0c;适用于多种电子设备和系统中的高侧开关应用。以下是 IRFB3207PBF 的一些典型应用场景&#xff1a; 1. 电源管理&#xff1a;在电源管理系统中&#xff0c;IRFB3207PBF 可以作为…...

基于单张图片快速生成Metahuman数字人(模型贴图绑定)的工作流演示

基于单张图片快速生成Metahuman数字人&#xff08;模型贴图绑定&#xff09;的工作流演示 MetahumanModeler, 是我基于facebuilder以及metahuman的理解开发而成&#xff0c;插件可以基于单张图片生成metahuman拓扑结构的面部3d模型&#xff0c;同时生成对应的面部的贴图&#…...

MySQL数据库下的Explain命令深度解析

Explain是一个非常有的命令&#xff0c;可以用来获取关于查询执行计划的信息&#xff0c;以及如何解释输出。Explain命令是查看查询优化器如何决定执行查询的主要方法。这个功能有一定的局限性&#xff0c;并不总是会说出真相&#xff0c;但是它的输出是可以获取的最好信息&…...

防火墙技术基础篇:基于IP地址的转发策略

防火墙技术基础篇&#xff1a;基于IP地址的转发策略的应用场景及实现 什么是基于IP地址的转发策略&#xff1f; 基于IP地址的转发策略是一种网络管理方法&#xff0c;它允许根据目标IP地址来选择数据包的转发路径。这种策略比传统的基于目的地地址的路由更灵活&#xff0c;因…...

OpenFeign快速入门 替代RestTemplate

1.引入依赖 <!--openFeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--负载均衡器--><dependency><groupId>org.spr…...

自动化测试--利用pytest实现整条业务链路测试

​ 概述 前面一章讲解了单个接口的测试&#xff0c;但是实际项目中&#xff0c;因为权限和登录状态的限制&#xff0c;大部分接口没办法直接访问到&#xff0c;这时候我们想访问到一个系统的接口&#xff0c;就需要模拟用户登录拿到用户的token和所拥有的权限之后再将这些信息…...

学习其他推理判断

学习其他推理判断 1.类比推理1.1语义关系1.2逻辑关系1.3 语法关系2.定义判断3.翻译推理3.1前推后:A→B3.2后推前:B→A3.3推理规则4.组合排列5.日常结论6.逻辑论证6.1削弱题型6.2加强题型7.原因解释1.类比推理 类比推理:给出一组相关的词,通过观察分析,在备选答案中找出一组…...

Centos7环境下MySQL5.7.38 安装开源审计插件 mysql-audit

MySQL安装开源审计插件 mysql-audit MySQL 5.7.38安装审计插件 mysql-audit安装MySQL1.查看Linux服务器版本和glibc版本2.根据自己的系统下载对应的MySQL版本&#xff0c;由于mysql-audit并不支持所有版本的MySQL&#xff0c;所以在确定MySQL版本之前请注意下插件支持的MySQL版…...

基于深度学习的表情识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 随着人工智能技术的快速发展&#xff0c;表情识别成为了人机交互领域的一个研究热点。表情识别技术旨…...

Debug-010-git stash的用法及使用场景

问题原因&#xff1a; 其实也不是最近&#xff0c;就是之前就碰到过这个问题&#xff0c;那就是我正在新分支开发新功能&#xff0c;开发程度还没有到可以commit的程度&#xff0c;我不想提交(因为有些功能没有完全实现&#xff0c;而且没有自测的话很容易有问题&#xff0c;提…...

RustGUI学习(iced/iced_aw)之扩展小部件(二十五):如何使用tab部件来创建tab多页面切换?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第二十五篇,主要讲述tab页面切换部件的使用,会结…...

P2P服务端模型配合 Tool.net P2pServerAsync 类使用

Tool.Net 支持的 P2P 服务器模型实例 说明服务器部分相关代码相关调用实例Tcp版本Udp版本 最后附一张思维图 说明 当前文章&#xff0c;仅是Tool.Net 开源库的一个缩影。本次更新V5.0版本以上提供支持。可以提供简单实现P2P功能用于业务开发。 服务器部分相关代码 完整代码&…...

Python语法学习之 - 生成器表达式(Generator Expression)

第一次见这样的语法 本人之前一直是Java工程师&#xff0c;最近接触了一个Python项目&#xff0c;第一次看到如下的代码&#xff1a; i sum(letter in target_arr for letter in source_arr)这条语句是计算source 与 target 数组中有几个单词是相同的。 当我第一眼看到这样…...

docker所在磁盘空间不足 迁移数据

1.查看原始目录docker info | grep "Docker Root Dir" 一般在/var/lib/docker 2.停止docker service docekr stop 3.移动数据 注意 移动前不要创建docker目录&#xff01; mv /var/lib/docker /home/docker 4.进入目录查看是否与原始目录相同&#xff0c;确认一…...

15、24年--信息系统管理——管理要点

1、数据管理 数据管理使指通过规划、控制与提供数据和信息资产的职能,包括开发、执行和监督有关数据的计划、策略、方案、项目、流程、方法和程序,以获取、控制、保护、交付和提高数据和信息资产价值。 DCMM定义了数据战略、数据治理、数据架构、数据应用、数据安全、…...

如何使用 CapSolver 扩展找到 Google reCAPTCHA 站点密钥?

网站安全性在当今至关重要&#xff0c;Google reCAPTCHA 作为防止垃圾邮件和滥用行为的前线防御系统起着关键作用。reCAPTCHA 站点密钥是确保网站交互由人类驱动的唯一标识符。了解如何找到这个密钥对于网站管理员和开发人员来说至关重要。 什么是 reCAPTCHA 站点密钥 reCAPT…...

安卓分身大师4.6.0解锁会员安卓14可用机型伪装双开多开

需登录解锁会员功能&#xff0c;除了加速进入不能&#xff0c; 其他主要功能都是可以使用&#xff0c;由于验证较多一些功能需要特定操作使用&#xff0c;进行伪装时请不要直接伪装&#xff0c;先生成成功后再进行自定义伪装&#xff01;链接&#xff1a;https://pan.baidu.com…...

攻防世界-mobile-easy-app详解

序言 这道题网上很多分析&#xff0c;但是分析的都是arm版本的&#xff0c;我选了arm64的来分析&#xff0c;arm64相比arm难度高一些&#xff0c;因为arm64编译器搞了inline优化&#xff0c;看起来略抽象 分析 这道题逻辑很简单&#xff0c;输入flag然后一个check函数验证&a…...

Web全栈开发学习路径规划:Phi-3-mini-gguf你的个性化导师

Web全栈开发学习路径规划&#xff1a;Phi-3-mini-gguf你的个性化导师 1. 为什么需要个性化学习路径 学习Web全栈开发就像建造一栋房子&#xff0c;不同的人需要不同的施工图纸。传统学习路径往往千篇一律&#xff0c;忽略了学习者的基础差异和目标差异。Phi-3-mini模型通过分…...

Elsevier投稿状态追踪:告别手动刷新,让审稿进度一目了然

Elsevier投稿状态追踪&#xff1a;告别手动刷新&#xff0c;让审稿进度一目了然 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 还在为Elsevier投稿系统的繁琐查询而烦恼吗&#xff1f;每次登录系统查看审稿进度都需…...

Meshroom终极指南:从照片到3D模型的免费开源解决方案

Meshroom终极指南&#xff1a;从照片到3D模型的免费开源解决方案 【免费下载链接】Meshroom Node-based Visual Programming Toolbox 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom Meshroom是一款革命性的开源3D重建软件&#xff0c;能够将普通照片自动转换为…...

ComfyUI-Manager:一站式AI绘画插件智能管理平台

ComfyUI-Manager&#xff1a;一站式AI绘画插件智能管理平台 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom node…...

毕业设计实战:基于SSM+MySQL的健身中心管理系统设计与实现全攻略

毕业设计实战&#xff1a;基于SSMMySQL的健身中心管理系统设计与实现全攻略 在开发“健身中心管理系统”毕业设计时&#xff0c;我曾因一个看似简单的场地预约与器材租赁的并发冲突问题&#xff0c;踩了一个“深坑”。初期设计时&#xff0c;仅简单地实现了场地预约和器材租赁的…...

国内顶级的SEO技术网站有哪些

国内顶级的SEO技术网站有哪些&#xff1f; 在当今互联网时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为每个网站营销者不可忽视的重要环节。国内顶级的SEO技术网站不仅为业内人士提供了宝贵的技术分享和实践经验&#xff0c;还为企业的网站流量优化提供了有…...

RK3588 android12休眠唤醒后以太网不可用

现象&#xff1a;开机后连接网线可正常使用&#xff0c;系统休眠后再次唤醒后网络不通&#xff0c;等待约30秒后看门狗复位&#xff0c;gmac重新初始化后可继续使用。&#xff08;此问题还会导致屏幕唤醒点亮延时1-2秒&#xff09;日志&#xff1a;休眠唤醒后提示报错如下&…...

万象视界灵坛实操手册:使用Prometheus+Grafana监控CLIP推理延迟、GPU利用率、QPS指标

万象视界灵坛实操手册&#xff1a;使用PrometheusGrafana监控CLIP推理延迟、GPU利用率、QPS指标 1. 监控系统概述 在现代AI应用部署中&#xff0c;实时监控系统性能指标是确保服务稳定运行的关键。对于万象视界灵坛这样的多模态智能感知平台&#xff0c;我们需要重点关注三个…...

终极指南:gin-vue-admin前端错误监控告警配置详解 - 邮件与钉钉实时通知方案

终极指南&#xff1a;gin-vue-admin前端错误监控告警配置详解 - 邮件与钉钉实时通知方案 【免费下载链接】gin-vue-admin &#x1f680;ViteVue3Gin拥有AI辅助的基础开发平台&#xff0c;企业级业务AI开发解决方案&#xff0c;内置mcp辅助服务&#xff0c;内置skills管理&#…...

长尾关键词的SEO提交技巧有哪些

长尾关键词的SEO提交技巧有哪些 在当今数字营销的环境中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;是提升网站流量的关键手段之一。而在SEO策略中&#xff0c;长尾关键词&#xff08;Long-Tail Keywords&#xff09;的应用尤为重要。长尾关键词通常是由三个或更多的…...