`

Uva 10034 - Freckles

    博客分类:
  • Uva
阅读更多
题目大意:给定n(0<n<=100)个点,用线把这n个点连起来,使得任意两点间均可达

题目分析:很明显,基本最少生成树问题。a[i][j],表示点i,j之间的距离,由于是稠密图,所以采用Prim算法。



//Uva 10034 - Freckles
//最小生成树问题,采用Prim算法
#include <iostream>
#include <cmath>
#include <cstdio>
#include <memory.h>
#define eps 1e-6
using namespace std;
const double INF=20000000.0;
const int maxn=110;
int n;
double a[maxn][maxn];//邻接矩阵
struct point
{
    double x;
    double y;
}p[maxn];
double dis(point p1,point p2)
{
    double x=p2.x-p1.x;
    double y=p2.y-p1.y;
    return sqrt(x*x+y*y);
}
double prim()
{
    double d[maxn];
    int visit[maxn];
    double sum=0;
    for(int i=0;i<n;i++)    d[i]=a[i][0];
    d[0]=0;
    memset(visit,-1,sizeof(visit));
    visit[0]=0;
    for(int i=1;i<n;i++)
    {
        //查找距已有集合最近的点
        double minv=INF;
        int v;
        for(int j=0;j<n;j++)
        {
            if(visit[j]&&d[j]<minv)     {minv=d[j];v=j;}
        }
        sum+=minv;
        visit[v]=0;
        //更新
        for(int j=0;j<n;j++)
        {
            if(visit[j]&&(d[j]>a[v][j]))   d[j]=a[v][j];
        }
    }
    return sum;
}
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        cin>>n;
        for(int i=0;i<n;i++)    cin>>p[i].x>>p[i].y;
        memset(a,0,sizeof(a));
        for(int i=0;i<n;i++)
        for(int j=i;j<n;j++)
        {
            a[i][j]=dis(p[i],p[j]);
            a[j][i]=a[i][j];
        }
        printf("%.2lf\n",prim());
        if(t)   cout<<endl;
    }
    return 0;
}

分享到:
评论

相关推荐

    Freckles

    Freckles

    Freckles New Tabs HD Wallpapers Themes-crx插件

    雀斑墙纸的新标签页 最热门,最受欢迎的高清壁纸 每天更新,每天精彩。 雀斑是一种浅褐色小斑点,针尖至米粒大小,常出现于前额、鼻梁和脸颊等处,偶尔也会出现于颈部、肩部、手背等处。为常染色体显性遗传,尤以...

    六首页数字藏品NFT交易网React NextJS网站模板 六首页数字藏品nft交易网反应NextJS网站模板

    六首页数字藏品NFT交易网React NextJS网站模板 六首页数字藏品nft交易网反应NextJS网站模板

    wireshark安装教程入门

    wireshark安装教程入门

    基于C++负数据库的隐私保护在线医疗诊断系统

    【作品名称】:基于C++负数据库的隐私保护在线医疗诊断系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于负数据库的隐私保护在线医疗诊断系统 NDBMedicalSystem 客户端及服务器端 本项目是在保护用户隐私的前提下,完成了对新冠肺炎、乳腺癌、眼疾等多种疾病的智能诊断。

    基本的嵌入式操作系统给

    任务管理

    3-10.py

    3-10

    Python3+MATLAB无线传感器网络相关仿真 基于RSSI测距的多边定位法仿真 生成五种网络拓扑结构源码.zip

    Python3+MATLAB无线传感器网络相关仿真 基于RSSI测距的多边定位法仿真 生成五种网络拓扑结构源码.zip

    matlab交互式课件模块,介绍了典型的工作流程,设置,以及涉及到用机器学习解决回归问题的考虑.zip

    matlab交互式课件模块,介绍了典型的工作流程,设置,以及涉及到用机器学习解决回归问题的考虑.zip

    563563565+3859

    5635356

    基于Matlab的模糊控制PID仿真以及相应的论文验证参数源码+文档+各种资料.zip

    基于Matlab的模糊控制PID仿真以及相应的论文验证参数源码+文档+各种资料.zip

    麦肯锡-年月xx集团战略设计和首次上市咨询报告.ppt

    麦肯锡-年月xx集团战略设计和首次上市咨询报告.ppt

    麦肯锡 把握中国资本市场的机遇.ppt

    麦肯锡 把握中国资本市场的机遇.ppt

    基于python深度学习实现多种农产品价格预测源码+项目说明.zip

    基于python深度学习实现多种农产品价格预测源码+项目说明.zip个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 基于python深度学习实现多种农产品价格预测源码+项目说明.zip个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 基于python深度学习实现多种农产品价格预测源码+项目说明.zip个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 基于python深度学习实现多种农产品价格预测源码+项目说明.zip个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 基于python深度学习实现多种农产品价格预测源码+项目说明.zip个人经导师指导并认可通过的98分大作

    matlab华松敏编写的教科书《机器人理论与技术基础》的源代码.zip

    matlab华松敏编写的教科书《机器人理论与技术基础》的源代码.zip

    setuptools-23.0.0-py2.py3-none-any.whl

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    ChatGPT 中文调教指南.zip

    ChatGPT是由OpenAI训练的一款大型语言模型,能够和你进行任何领域的对话。 国内中文版 它能够生成类似于人类写作的文本。您只需要给出提示或提出问题,它就可以生成你想要的东西。 充当 Linux 终端 我想让你充当 Linux 终端。我将输入命令,您将回复终端应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。除非我指示您这样做,否则不要键入命令。当我需要用英语告诉你一些事情时,我会把文字放在中括号内[就像这样]。我的第一个命令是 pwd 充当英语翻译和改进者 我希望你能担任英语翻译、拼写校对和修辞改进的角色。我会用任何语言和你交流,你会识别语言,将其翻译并用更为优美和精炼的英语回答我。请将我简单的词汇和句子替换成更为优美和高雅的表达方式,确保意思不变,但使其更具文学性。请仅回答更正和改进的部分,不要写解释。我的第一句话是“how are you ?”,请翻译它。 充当论文润色者(拿摘要部分举例) 请你充当一名论文编辑专家,在论文评审的角度去修改论文摘要部分,使其更加流畅,优美。下面是具体要求: 能让读者快速获得文章的要点或精髓,

    matlab机器人课程和书籍中的问题.zip

    matlab机器人课程和书籍中的问题.zip

    麦肯锡_-_解决_问题_的_基本_方法_-_七步成诗.ppt

    麦肯锡_-_解决_问题_的_基本_方法_-_七步成诗.ppt

    麦肯锡培训手册——好的开始是成功的一半()如何进行团队及团队与客户之间的交流.ppt

    麦肯锡培训手册——好的开始是成功的一半()如何进行团队及团队与客户之间的交流.ppt

Global site tag (gtag.js) - Google Analytics