首页 > 其他分享 >习题6.5

习题6.5

时间:2024-10-26 23:10:48浏览次数:1  
标签:distances school hospital 6.5 connected np 习题 inf

import numpy as np  
   
distances = np.array([  
    [0, 2, 7, np.inf, np.inf, np.inf],  
    [2, 0, 4, 6, 8, np.inf],           
    [7, 4, 0, 1, 3, np.inf],          
    [np.inf, 6, 1, 0, 1, 6],           
    [np.inf, 8, 3, 1, 0, 3],          
    [np.inf, np.inf, np.inf, 6, 3, 0]  
], dtype=float)  
 
students = np.array([50, 40, 60, 20, 70, 90])  
  
hospital_distances_sum = np.zeros(6)  
for i in range(6):   
    connected_distances = distances[i, :i+1].copy()  
    connected_distances = connected_distances[connected_distances != np.inf]  
    hospital_distances_sum[i] = np.sum(connected_distances)  
hospital_location = np.argmin(hospital_distances_sum)  
print(f"医院应该建在村庄 {chr(65 + hospital_location)} 处,使得最远村庄的人到医院看病所走的路最短。")  
  
school_total_distances = np.zeros(6)  
for i in range(6):  
   
    weighted_distances = 0  
    for j in range(6):  
        if distances[j, i] != np.inf:  
            weighted_distances += students[j] * distances[j, i]  
    school_total_distances[i] = weighted_distances  
  
school_location = np.argmin(school_total_distances)  
print(f"小学应该建在村庄 {chr(65 + school_location)} 处,使得所有学生上学走的总路程最短。")
 
print("学号:3008")

结果如下图所示

标签:distances,school,hospital,6.5,connected,np,习题,inf
From: https://www.cnblogs.com/fang---/p/18505309

相关文章

  • 习题6.6
    importnumpyasnpmatches=np.array([[0,1,0,1,1,1],#1队[0,0,0,1,1,1],#2队[1,1,0,1,0,0],#3队[0,0,0,0,1,1],#4队[0,0,1,0,0,1],#5队[0,0,1,0,0,0]#6队],dtype=int)......
  • 6.5
    importnumpyasnpdistances=np.array([[0,2,7,np.inf,np.inf,np.inf],[2,0,4,6,8,np.inf],[7,4,0,1,3,np.inf],[np.inf,6,1,0,1,6],[np.inf,8,3,1,0,3],[np.inf,np.inf,np.inf,6,3,0]],dtype=float)students=np.array([50,40,......
  • 浙大版《C语言程序设计实验与习题指导(第4版)实验6-6 使用函数验证哥德巴赫猜想
    本题要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。函数接口给定如下intprime(intp);voidGoldbach(intn);其中函数prime当用户传入参数p......
  • 第七章 课后习题
    <!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"><title>翡翠阁</title> <styletype="text/css"> body{ font-family:'Arial',sans-serif; bac......
  • C语言程序设计:现代设计方法习题笔记《chapter5》上篇
    第一题        题目分析:程序判断一个数的位数可以通过循环除以10求余,通过计算第一次与10求余为0的次数计算位数,由此可得示例1代码,另一种思路根据提示,可得示例2代码。代码示例1:#include<stdio.h>intmain(){ printf("Enteranumber:"); intnumber,temp; sc......
  • Java基础第五天(实训学习整理资料(五)练习题)
    目录1、百钱买百鸡2、搬砖问题3、(循环)**求水仙花数。4、完数5、费波那契,兔子数列6、打渔还是晒网1、百钱买百鸡(for循环)*“百钱买百鸡”是我国古代的著名数学题。题目这样描述:5文钱可以买1只公鸡,3文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡......
  • 构建更加丰富的页面 习题答案<HarmonyOS第一课>
    一、判断题1. Tabs组件可以通过接口传入一个TabsController,该TabsController可以控制Tabs组件进行页签切换。正确(True)错误(False)正确(True)回答正确2. WebviewController提供了变更Web组件显示内容的接口,例如可以使用loadData来加载一个网页链接地址改变Web组件的......
  • 刷c语言练习题12(牛客网)
    1、在上下文和头文件正常的情况下,以下代码输出的值是:12345678910111213int x = 4;void incre() {    static int x = 1;    x *= x + 1;    printf("%d", x);}int _tmain(int argc, _TCHAR *argv[]) {    int i;......
  • 6.5 已知有6个村子,相互间道路的距离如图所示,拟合建一所小学,现计划建造一所医院和一所
    点击查看代码importnumpyasnpdistances=np.array([[0,2,7,np.inf,np.inf,np.inf],[2,0,4,6,8,np.inf],[7,4,0,1,3,np.inf],[np.inf,6,1,0,1,6],[np.inf,8,3,1,0,3],......
  • 23~24 炼石计划 NOIP 练习题部分题解
    目录目录第1组JOISC2017火车旅行IOI2018会议CF1558FStrangeSortAPIO2018新家CTSC2017密钥CF1748EYetAnotherArrayCountingProblem第2组NOI2016区间LOJ552MIN&MAXIJOISC2023合唱LOJ542序列划分LOJ560Menci的序列P8978中位数第3组USACO20FEBHelpYourse......