帮同学参加数学建模做的求点集间最短距离,时间复杂度300*300

要求:求每一个会员点分别到任务点集的最短距离

表格如下:

我的做法是:

1先把会员经度纬度保存为 X.txt ,把任务经度纬度保存为Y.txt(直接从表格复制)

源代码如下:

import math
class Point:
    def __init__(self,x=0,y=0):
        self.x=x
        self.y=y  

listx=[]
listy=[]

with open("X.txt", ‘r‘) as f:
    data = f.readlines()  

    for line in data:
         odom = line.split()
         a=float(odom[0])
         b=float(odom[1])
         p=Point(a,b)
         listx.append(p)
with open("Y.txt", ‘r‘) as f:
    data = f.readlines()  

    for line in data:
         odom = line.split()
         a=float(odom[0])
         b=float(odom[1])
         p=Point(a,b)
         listy.append(p)

class Line(Point):
    def getLen(self,p1,p2):
        r=math.sqrt(((p1.x-p2.x)**2)+(p1.y-p2.y)**2)
        return r

l=Line()
listhaha=[]
b=open("shuchu.txt","a+")
for i in listx:
    listl=[]
    for j in listy:
        juli=l.getLen(i,j)
        listl.append(juli)
    listhaha.append(min(listl))
    print("点(",i.x,",",i.y,")到会员点集的最短距离为",min(listl))
    b.write("点(")
    b.write(str(i.x))
    b.write(",")
    b.write(str(i.y))
    b.write(")到会员点集的最短距离为")
    b.write(str(min(listl)))
    b.write("\n")

b.close()

  

时间: 2024-08-05 02:32:11

帮同学参加数学建模做的求点集间最短距离,时间复杂度300*300的相关文章

第一次参加数学建模的感想(附报告) 2015-04-15

上周三,上完思修课后我和小组成员争分夺秒地赶制了数模竞赛的程序.刚完事儿不久,笔记本就没电了.中午去实验室插上电,又把报告赶了出来,下午打印好后交了上去. Deadline真是第一生产力. 数学建模很早就有所耳闻,感觉是非常有意思的一种比赛.据我前期了解,A题一般是连续的题,B题是离散的题,C题则是和其他学科综合性比较强的题.我们这次参加的是一个校级的预赛,但A.B题还是不会.A题是探讨红绿灯中黄灯的时长安排问题,听说需要用微分方程云云,吓尿了.B题看上去像是旅行商问题,按理说是我们计算机专业的

如何入门参加数学建模竞赛

1 网上资源 1.1 数学中国 可以去数学中国网站看看,在数学建模比赛的培训这一块做得很好的机构,如果自己有点银子,可以去参加他们的网上课程.另外他们有专门的数学建模群,群里面有很好关于数学建模的资料.而且这个机构自己也举办数学建模比赛,如果有时候可以在这里组队,直接参加比赛,累积一些经验,增长见识. 1.2 数学建模视频课程,现在网络上有一些比较好的关于数学建模比赛的视频资源,可以谷歌一下 1.3 网络上的一些关于数学建模的电子书,有时候你也不知道哪本书比较适合你,所以你可以先在网上找一些电子

数学建模竞赛题目

建模意义 思考方法 数学建模是一种数学的思考方法,是运用数学的语言和方法,通过抽象.简化建立能近似刻画并"解决"实际问题的一种强有力的数学手段. 数学建模就是用数学语言描述实际现象的过程.这里的实际现象既包涵具体的自然现象比如自由落体现象,也包含抽象的现象比如顾客对某种商品所取的价值倾向.这里的描述不但包括外在形态,内在机制的描述,也包括预测,试验和解释实际现象等内容. 我们也可以这样直观地理解这个概念:数学建模是一个让纯粹数学家(指只研究数学而不管数学在实际中的应用的数学家)变成物理

数学建模模板

全国大学生数学建模竞赛就开始了,这里分享一下我自己的数学建模论文模板,写的不好,请指教: 论文标题   摘要 内容要点: 1.研究目的:本文研究······问题. 2.建立模型思路:首先,本文······. 然后针对第一问······问题,本文建立······模型. 在第一个······模型中,本文对哪些问题进行简化,利用什么知识建立什么模型.接下来,第二个模型······ 3.求解思路,使用的方法 针对模型胡求解,本文使用什么方法,计算出,并只用什么工具求解出什么问题,进一步求出什么结果. 4

数学建模竞赛“爱你不容易,爱你不后悔”

2011年6月份高中毕业,就读本科,2013年暑假8月份,参加学校为期一个月的数学建模培训,然后9月份的第二个周末在东南大学参加为期三天的全国大学生数学建模竞赛,"意外"获得全国大学生数学建模竞赛二等奖:2015年6月份本科毕业,攻读硕士研究生,2016年暑假,因实习没有参加学校组织的数学建模培训,9月份的第三个周末在南京邮电大学参加为期4.5天的全国研究生数学建模竞赛,"如愿"获得全国研究生数学建模竞赛一等奖,随后在重庆大学参加"华为杯"第十三

数学建模--matlab基础知识

虽然python也能做数据分析,不过参加数学建模,咱还是用专业的 1. Matlab-入门篇:Hello world! 程序员入门第一式: disp('hello world!') 2. 基本运算 先了解基本的运算符,做一些简单的尝试: +   Plus; addition operator. -   Minus; subtraction operator. *   Scalar and matrix multiplication operator. ^   Scalar and matrix

数学建模入门书籍介绍

数学模型 需要入门: 马氏链 需要进一步学习:   博弈,  概率 , 统计回归,  差分方程 需要加强: 离散, 图论等 这本书融合知识在例子中,  不太方便知识点查阅,  但是便于从零学起某一模型 数学建模方法 这本书前有知识后有实例, 适合主攻数学的同学入手 数学建模算法与程序 这二货竟然带程序, 样本,  算法还多,  有数学推导,  整整1000页, 绝对是编程同学不二之选 MATLAB在数学建模中的应用 同上 MATLAB统计分析与应用 40个案例分析 看名字就知道啦

2019美国大学生数学建模竞赛B题(思路)

建模比赛已经过去三天了,但留校的十多天里,自己的收获与感受依然长存于心.下面的大致流程,很多并没有细化,下面很多情况都是在假设下进行的,比如假设飞机能够来回运送药品,运货无人机就只运货,在最大视距下侦查等. 题目下载:点击下载 首先,因为这道题中的变量太多,我们需要对变量的数量进行减小. 一.变量设置 二.约束条件 1.从基地运输到医院的药包量必须满足医院的需求. 2.无人机最大行驶距离能否满足来回医院. 三.目标函数 1.计算基地到医院的时间: 2.我们希望时间最优(最短),则取满足约束条件b

用python做数学建模

前言 这里是用python解决数学建模的一些问题,用到的是python3.x,scipy,numpy和matplotlib. 先补充一些基本的数据知识. 1.numpy.array() 在基础操作里,array和list是不区分的(在索引和删除一些操作还有运行时间上会有区别),python也没有array这个数据结构.array是由numpy这个数值计算工具包定义的.因为很多操作必须要求是在array上进行(list会出错)所以需要掌握.以下参考官方文档. import numpy as np