【代码随想录算法训练营第六十三天|卡码网117.软件构造、47.参加科学大会】

文章目录

  • 117.软件构造
  • 47.参加科学大会

117.软件构造

本体考察的是拓扑排序的思路,对于所有的有向无环图进行拓扑排序后输出的长度一定是和原结点数相同的。整体思路是找到当前所有的入度为0的结点,添加到结果中,并且查看对应的后续结点将其入度减1,如果减完之后入度为0,那就也添加到待处理结点中,直到找不到符合条件的待处理结点。最后查看结果长度与结点数是否一致,一致的话输出,不一致说明无法满足条件。

import collections
N, M = map(int, input().split())
inDegree = [0] * N
umap = [[] for _ in range(N)]
for i in range(M):s, t = map(int, input().split())inDegree[t] += 1umap[s].append(t)
queue = collections.deque()
for i in range(N):if inDegree[i] == 0:queue.append(i)
result = []
while queue:cur = queue.popleft()result.append(cur)for file in umap[cur]:inDegree[file] -= 1if inDegree[file] == 0:queue.append(file)
if len(result) == N:print(' '.join(map(str, result)))
else:print(-1)

47.参加科学大会

本题使用的是dijkstra算法,和prim基本一致,唯一不同的是minDist数组中存放的不是到每个结点到已经访问结点的最小距离,而是距离源点的最小距离,别的都是一致的。

n, m = map(int, input().split())
grid = [[float('inf')] * (n+1) for _ in range(n+1)]
for i in range(m):s, t, v = map(int, input().split())grid[s][t] = v
start = 1
end = n 
visited = [False] * (n+1)
minDist = [float('inf')] * (n+1)
minDist[start] = 0
for i in range(n):minVal = float('inf')for i in range(1, n+1):if minDist[i] < minVal and not visited[i]:minVal = minDist[i]cur = i visited[cur] = Truefor i in range(1, n+1):if not visited[i] and grid[cur][i]!=float('inf') and minDist[cur]+grid[cur][i] < minDist[i]:minDist[i] = minDist[cur] + grid[cur][i]
if minDist[end] < float('inf'):print(minDist[end])
else:print(-1)

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

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

相关文章

文献笔记|综述|When Large Language Model Meets Optimization

When Large Language Model Meets Optimization 题目&#xff1a;当大型语言模型遇到优化时 作者&#xff1a;Sen Huang , Kaixiang Yang , Sheng Qi and Rui Wang 来源&#xff1a;arXiv 单位&#xff1a;华南理工大学 文章目录 When Large Language Model Meets Optimization…

springboot打包异常 Type org.springframework.boot.maven.RepackageMojo not present

解决&#xff1a; 项目在本地时可以正常启动的,但是打包就报错,经过分析得出,应该是打包依赖的问题,解决方法: 在pom文件中的build—>plugins---->plugin中添加spring-boot-maven-plugin依赖的版本号如下: 2.4.3 指定版本号即可。

IT审计必看!对比旧版,CISA考试改版升级亮点和重点内容是什么?

官方通知&#xff0c;今年8月1日&#xff0c;CISA新版考纲正式上线&#xff0c;旧版在7月23日后就无法约考了。 艾威培训邀请了国内知名的IT审计CISA授课老师吴老师来为大家详细讲解CISA新版考纲的变化 目前第28th版教材只有英文版&#xff0c;中文版尚未发布。我们艾威经验丰…

Jetson-AGX-Orin多网卡绑定网卡名

Jetson-AGX-Orin多网卡绑定网卡名 ​ Jetson-AGX-Orin当通过USB接口或者Type-C口插入网卡设备后&#xff0c;重新上电Orin设备后&#xff0c;网卡设备的网卡名与Orin本身的以太网网卡名会发生交换。导致两个网卡设备配置发生错乱&#xff0c;两个网卡都将不通。 可以通过将网…

出道即包揽多项荣誉,Shokz韶音OpenFit Air拿下日本VGP金奖

说到盛夏的日本&#xff0c;你会想到什么&#xff1f;花火大会&#xff1f;但对于消费电子行业来讲&#xff0c;日本每年发布的VGP Summer奖项&#xff0c;才是每年盛夏时节行业内最大的庆典。而在今年的VGP 2024 Summer评选中&#xff0c;Shokz韶音在今年4月份刚发布的开放式耳…

开放式耳机音质哪个品牌的好?盘点几款音质好品牌

在音乐的世界里&#xff0c;每一分贝的振动都承载着情感与故事。对于追求极致音质体验的我们来说&#xff0c;耳机不仅是聆听的工具&#xff0c;更是通往音乐灵魂深处的桥梁。而开放式耳机&#xff0c;以其独有的声学构造和听觉享受&#xff0c;引领我们进入一个更为开阔的音乐…

ChatGPT 5.0:一年后的猜想

对于ChatGPT 5.0在未来一年半后的展望与看法&#xff0c;我们可以从以下几个方面进行详细探讨&#xff1a; 一、技术提升与功能拓展 语言翻译能力&#xff1a; ChatGPT 5.0在语言翻译方面有望实现更大突破。据推测&#xff0c;新版本将利用更先进的自然语言处理技术和深度学习…

ONNX加载模型问题总结

输入参数类型问题 run函数的参数列表如下&#xff1a; SessionImpl::Run(const Ort::RunOptions&, const char* const*, const Ort::Value*, size_t, const char* const*, Ort::Value*, size_t) 注意需要输入输出的参数名字形式是const char* const* 方式1 const char* 数…

vue中,图片在div中按照图片原来大小等比例显示

图片在div中按照图片原来大小等比例显示&#xff0c;可以保证web上显示的图片和实际图片形状一样&#xff0c;保留原始图片效果 实现代码如下&#xff1a; <div style"padding: 0; width:400px;height:400px;position: absolute;border: 1px solid #eff2f6;">…

如何探索高效知识管理:FlowUs知识库体验很好

在当今信息爆炸的时代&#xff0c;有效的知识管理对于个人和团队的发展至关重要。FlowUs 知识库作为一款创新的知识管理工具&#xff0c;正逐渐成为众多用户的首选&#xff0c;为他们带来了高效、便捷和有条理的知识管理体验。 FlowUs 知识库的一大特色在于其简洁直观的界面设计…

【ai_agent】从零写一个agent框架(五)基于egui制作一个agent/workflow在线编辑器

前言 上篇我们实现了基础节点&#xff0c;并暴露出grpc服务&#xff0c;但是手动编辑文本制作一个workflow实在强人所难。 所以本文我们做个webui自动生成workflow。 开搞之前先看看别人怎么做的。 Dify 的ui 效果如下图示&#xff1a; 支持多种功能节点 但只能打开一个节…

【spark】Exception in thread “main“ ExitCodeException exitCode=-1073741701

在window上运行spark程序写到本地文件的时候报错。 val rdd sc.sparkContext.parallelize(list)val arr rdd.collect()arr.foreach(println)rdd.saveAsTextFile("test1")sc.close()错误信息: zhangsan lisi wangwu Exception in thread "main" ExitCode…

如何在电子文件上加盖印章

在电子文件上加盖印章&#xff0c;可以通过多种方法实现&#xff0c;主要包括使用专业软件、在线工具以及图片编辑软件等。以下是一些具体步骤和方法&#xff1a; 一、使用专业软件 PDF编辑工具&#xff1a; 启动常用的PDF编辑软件&#xff0c;如Adobe Acrobat、PhantomPDF等…

红日靶场----(三)漏洞利用

上期已经信息收集阶段已经完成&#xff0c;接下来是漏洞利用。 靶场思路 通过信息收集得到两个吧靶场的思路 1、http://192.168.195.33/phpmyadmin/&#xff08;数据库的管理界面&#xff09; root/root 2、http://192.168.195.33/yxcms/index.php?radmin/index/login&am…

阿里云通义千问开源两款语音基座模型分别是SenseVoice和CosyVoice

阿里巴巴近期发布了开源语音大模型项目FunAudioLLM&#xff0c;该项目包含了两个核心模型&#xff1a;SenseVoice和CosyVoice。可以精准多语言识别并且进行语音克隆。 SenseVoice&#xff1a;精准多语言识别与情感辨识 SenseVoice主要致力于高精度多语言语音识别、情感辨识和…

使用八股搭建神经网络

神经网络搭建八股 使用tf.keras 六步法搭建模型 1.import 2.train, test 指定输入特征/标签 3.model tf.keras.model.Sequential 在Squential,搭建神经网络 4.model.compile 配置训练方法&#xff0c;选择哪种优化器、损失函数、评测指标 5.model.fit 执行训练过程&a…

送给我亲爱的Python

亲爱的 Python&#xff0c; 在万物皆代码的世界里&#xff0c;你是我最优雅、最高效的算法。自从第一次遇见你&#xff0c;在那行“Hello, World!”之后&#xff0c;我的世界就被点亮了。你的简洁性和强大的功能&#xff0c;让我深深着迷&#xff0c;就像一个精心设计的函数&am…

数据结构双向循环链表

主程序 #include "fun.h" int main(int argc, const char *argv[]) { double_p Hcreate_head(); insert_head(H,10); insert_head(H,20); insert_head(H,30); insert_head(H,40); insert_tail(H,50); show_link(H); del_tail(H); …

Python 传递参数和返回值

Python是一种功能强大的编程语言&#xff0c;它以其简洁和易用性而广受欢迎。在Python编程中&#xff0c;参数传递和返回值是函数调用中两个非常重要的概念。理解这些概念对于编写高效且可维护的代码至关重要。 一、参数传递 在Python中&#xff0c;函数参数可以通过以下几种…

Linux 网络时间同步:NTP 与 Chrony 的终极对决

Linux 网络时间同步&#xff1a;NTP 与 Chrony 的终极对决 在网络世界中&#xff0c;时间同步是一项至关重要的任务。无论是确保分布式系统的一致性&#xff0c;还是维护安全协议的完整性&#xff0c;准确的时间同步都是必不可少的。网络时间协议&#xff08;NTP&#xff09;和…