浙江大学数据结构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.mzph.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;&…