【代碼隨想錄算法訓練營第六十三天|卡碼網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.pswp.cn/web/42963.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42963.shtml
英文地址,請注明出處:http://en.pswp.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;和…