浙江大學數據結構MOOC-課后習題-第七講-圖4 哈利·波特的考試

題目匯總
浙江大學數據結構MOOC-課后習題-拼題A-代碼分享-2024

題目描述

在這里插入圖片描述

代碼展示

照著教程視頻來的,沒啥好說的捏

#include <cstdlib>
#include <iostream>#define MAXSIZE 100
#define IFINITY 65535
typedef int vertex;
typedef int weightType;/* 邊 */
struct ENode
{vertex V1, V2;weightType weight;
};
typedef ENode* ptrToENode;
typedef ptrToENode Edge;/* 圖結點 */
struct GNode
{int Nv;	/* 節點數 */int Ne;	/* 邊數 */weightType G[MAXSIZE][MAXSIZE];	/* 鄰接矩陣 */
};
typedef GNode* ptrToGNode;
typedef ptrToGNode MGraph;MGraph creatGraph()
{	vertex V, W;MGraph G = (MGraph)malloc(sizeof(GNode));G->Ne = 0;std::cin >> G->Nv;for (V = 0; V < G->Nv; V++){for (W = 0; W < G->Nv; W++){G->G[V][W] = IFINITY;}}return G;
}void insertEdge(MGraph Graph, Edge E)
{Graph->G[E->V1][E->V2] = E->weight;Graph->G[E->V2][E->V1] = E->weight;
}
MGraph buildGraph()
{MGraph G = creatGraph();//插入邊std::cin >> G->Ne;if (G->Ne != 0){Edge E = (Edge)malloc(sizeof(ENode));for (int i = 0; i < G->Ne; i++){std::cin >> E->V1 >> E->V2 >> E->weight;E->V1--;E->V2--;insertEdge(G, E);}}return G;
}void floyd(MGraph Graph, weightType D[][MAXSIZE])
{vertex i, j, k;/* 初始化 */for (i = 0; i < Graph->Nv; i++){for (j = 0; j < Graph->Nv; j++){D[i][j] = Graph->G[i][j];}}for(k = 0; k < Graph->Nv; k++){for (i = 0; i < Graph->Nv; i++){for (j = 0; j < Graph->Nv; j++){if ((D[i][k] + D[k][j]) < D[i][j])D[i][j] = D[i][k] + D[k][j];}}	}
}weightType findMaxDist(MGraph Graph, weightType D[][MAXSIZE], vertex i)
{weightType maxDist;vertex j;maxDist = 0;for (j = 0; j < Graph->Nv; j++){if (D[i][j] > maxDist && i != j)maxDist = D[i][j];}return maxDist;
}
void findAnimal(MGraph G)
{	weightType D[MAXSIZE][MAXSIZE], maxDist, minDist;vertex animal, i;/* 利用Floyd求出任意兩點間的最短路徑長度 */floyd(G, D);/* 找出每行中的最大值, 然后從所有最大值中找出最小值 */minDist = IFINITY;for (i = 0; i < G->Nv; i++){	maxDist = findMaxDist(G, D, i);if (maxDist == IFINITY){std::cout << "0";return;}if (maxDist < minDist){minDist = maxDist;animal = i + 1;}}std::cout << animal << ' ' << minDist;
}
int main()
{MGraph G = buildGraph();findAnimal(G);return 0;
}

心路歷程

感覺有點懈怠了…

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/17309.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/17309.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/17309.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

為什么大部分新手做抖音小店賺不到錢?

大家好&#xff0c;我是噴火龍。 今天來給大家聊聊&#xff0c;為什么大部分新手做抖店賺不到錢&#xff1f; 不知道大家想過這個問題沒有&#xff0c;可能有些人把賺不到錢的原因歸結于市場、或者平臺、又或者運營技術以及做店經驗。 但我覺得這些都不是重點&#xff0c;重…

FFmpeg 使用文檔介紹二:命令行選項

關于FFmpeg的細節描述可以參考:FFmpeg 使用文檔介紹一:細節描述和流選擇 命令行選項 所有數值選項,除非另有說明,都接受一個表示數字的字符串作為輸入,該字符串后面可以跟一個國際單位制(SI)的單位前綴,例如:‘K’(千)、‘M’(兆)或’G’(吉)。 如果將i附加到S…

爬蟲實戰教程:深入解析配樂網站爬取1000首MP3

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、引言 二、實戰前準備 1. 選擇目標網站 2. 分析網頁結構 三、爬蟲工作流程詳解 1. 發…

高質量軟件開發的全面指南(MIT-6.031)

首先&#xff0c;通過靜態檢查&#xff08;Static Checking&#xff09;和動態檢查&#xff08;Dynamic Checking&#xff09;了解類型和變量的使用規則&#xff0c;學習如何編寫文檔和注釋來記錄假設和方法&#xff08;Assumptions and Methods&#xff09;。詳細內容請見&…

Curator Framework如何寫單元測試

概述 使用curator framework框架去操作zookeeper時&#xff0c;我們知道因其的方法風格是那種流式的編寫風格&#xff0c;所以我們在寫單元測試的時候要把鏈接zookeeper的操作給mock掉&#xff0c;那么著實是不太好寫單測。不過好在curator framework有一個專門用于測試的模塊…

誠心分享!主食凍干橫向對比:希喂、愛立方、K9等誰最值得入手?

主食凍干到底有必要喂嗎&#xff1f;七年鏟齡鏟屎官告訴你&#xff0c;是真的很有必要喂&#xff01; 這些年隨著寵物經濟的發展、科學養寵的普及&#xff0c;現在養貓不僅局限在讓貓吃飽就行&#xff0c;更多人開始關注到貓的飲食健康。大量的實際喂養案例證明了&#xff0c;傳…

第2章 物理層

王道學習 考綱內容 &#xff08;一&#xff09;通信基礎 信道、信號、帶寬、碼元、波特、速率、信源與信宿等基本概念&#xff1b; 奈奎斯特定理與香農定理&#xff1b;編碼與調制&#xff1b; 電路交換、報文交換與分組交換&#xff1b;數…

接口響應斷言-json

json認識JSONPath源碼類學習/json串的解析拓展學習 目的&#xff1a;數據返回值校驗測試 json認識 json是什么-是一種數據交換格式&#xff0c;舉例平時看到的json圖2&#xff0c;在使用中查看不方便&#xff0c;會有格式轉化的平臺&#xff0c;json格式的展示 JSON在線視圖…

推薦二輪電動車儀表盤藍牙主芯片方案-HS6621CGC

隨著國內二輪電動車的火熱開啟&#xff0c;電動車的智能化程度越來越高&#xff1b;電動車的智能操控需求也越來越高&#xff0c;現在介紹藍牙控制面板的一些功能&#xff1b;例如&#xff1a;定位&#xff08;GNSS&#xff09;&#xff0c;設防&#xff0c;實時上報數據&#…

rocketmq跨版本升級方案參考—— 筑夢之路

這篇文章寫的比較好&#xff0c;可以作為參考&#xff0c;抽空再來按照這個思路進行實踐實驗。 https://www.cnblogs.com/zhyg/p/10132598.html 對于rocketmq和kafka如何選擇&#xff0c;可閱讀搭建項目 Kafka 和 RocketMQ 你選哪個&#xff1f;

什么是光柵化?

一、 什么是光柵化? 光柵化作用是將幾何數據變換后轉換為像素呈現在顯示設備上的一個過程。幾何數據轉換為像素&#xff0c; 本質是坐標變換、幾何離散化&#xff0c;如下&#xff1a; 其中包含了坐標變換和幾何離散化&#xff1a; 二、光柵化完成了什么 3D中&#xff0c;物…

element-ui 實現輸入框下拉樹組件(2024-05-23)

用element-ui的 el-input&#xff0c;el-tree&#xff0c;el-popover組件組合封裝 import url("//unpkg.com/element-ui2.15.14/lib/theme-chalk/index.css"); <script src"//unpkg.com/vue2/dist/vue.js"></script> <script src"//…

棗莊高防服務器如何實現全球覆蓋?

利用 棗莊高防服務器如何實現全球覆蓋&#xff1f; 嗨&#xff0c;親愛的讀者們&#xff01;今天我們將帶你探索如何利用棗莊高防服務器實現全球覆蓋&#xff0c;讓你的網站在世界各地都能穩定快速地訪問。而我們這次推薦的服務器商是萊卡云&#xff08;Lcayun&#xff09;&am…

C數據結構:二叉樹

目錄 二叉樹的數據結構 前序遍歷 中序遍歷 后序遍歷 二叉樹的創建 二叉樹的銷毀 二叉樹的節點個數 二叉樹葉子節點個數 二叉樹第K層節點個數 二叉樹的查找 層序遍歷 判斷二叉樹是否為完全二叉樹 完整代碼 二叉樹的數據結構 typedef char BTDataType; typedef str…

使用numpy手寫一個神經網絡

本文主要包含以下內容&#xff1a; 推導神經網絡的誤差反向傳播過程使用numpy編寫簡單的神經網絡&#xff0c;并使用iris數據集和california_housing數據集分別進行分類和回歸任務&#xff0c;最終將訓練過程可視化。 1. BP算法的推導過程 1.1 導入 前向傳播和反向傳播的總體…

Three.js——相機

在Three.js中&#xff0c;相機&#xff08;Camera&#xff09;是用于定義視圖和渲染場景的一個關鍵組件。相機決定了你從哪個角度和位置觀察場景中的物體&#xff0c;以及如何呈現這些物體。Three.js 提供了幾種不同類型的相機&#xff0c;每種相機都有其特定的用途和特性。以下…

Unity OutLine 模型外描邊效果

效果展示&#xff1a; 下載鏈接

【Rust日報】ratatui版本更新

[new ver] ratatui v0.26.3 一個構建終端用戶界面的庫。新版本包括&#xff1a; 修復Unicode 截斷 bug對顏色更好地序列化更快的渲染棄用assert_buffer_eq宏暴露錯誤類型常量函數和類型 官網: https://ratatui.rs/ 鏈接: https://ratatui.rs/highlights/v0263/ [new lib] ansi2…

618電商選品爆款攻略,誰掌握誰爆單

618電商節是各大電商平臺和品牌商家的重要促銷節點&#xff0c;選品和營銷策略對于銷售成績至關重要。以下是一些選品和營銷攻略的要點&#xff1a; 一、市場分析與目標定位 1、分析當前經營類目市場的流行趨勢、熱門品類以及消費者需求的變化。 目前市場上商品繁多&#xf…

Java 命令執行某一個特定類

在Java中&#xff0c;要執行一個特定的類&#xff08;通常是包含main方法的類&#xff09;&#xff0c;你需要使用java命令&#xff0c;并指定類的完全限定名&#xff08;包括包名&#xff09;。通常&#xff0c;這還需要你設置正確的類路徑&#xff08;classpath&#xff09;&…