• SSL 1618——剑鱼行动(最小生成树)


    Description

    给出N个点的坐标,对它们建立一个最小生成树,代价就是连接它们的路径的长度,现要求总长度最小。N的值在100以内,坐标值在[-10000,10000].结果保留二位小数

    Input

    5 —————5个点
    0 0 —————5个点点的坐标
    0 1
    1 1
    1 0
    0.5 0.5

    Output

    2.83


    这题其实跟USACO 3.1 Agri-Net 最短网络 差不多。
    只是将两点的距离略去,自己求。公式如下:sqrt(sqr(x1-x2)+sqr(y1-y2))
    详见http://blog.csdn.net/ssl_zzy/article/details/65651835


    代码如下:

    var   n,i,j,k,t:longint;
          min,ans:real;
          x,y,v:array[0..101]of real;
          a:array[0..101,0..101]of real;
    begin
      readln(n);
      for i:=1 to n do
        begin
          readln(x[i],y[i]);
          for j:=1 to i-1 do
            begin
              a[i,j]:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]));
              a[j,i]:=a[i,j];
            end;
        end;
      fillchar(v,sizeof(v),#0);
      v[1]:=1;
      for i:=1 to n-1 do
        begin
          min:=maxlongint;
          for j:=1 to n do
            if v[j]=1 then
              for k:=1 to n do
                if v[k]=0 then
                  if (a[j,k]<min)and(a[j,k]<>0) then
                    begin
                      min:=a[j,k];
                      t:=k;
                    end;
          if min<>maxlongint then
            begin
              ans:=ans+min;
              v[t]:=1;
            end;
        end;
      write(ans:0:2);
    end.
  • 相关阅读:
    codeforces-1194 (div2)
    单链表1(悲剧文本)
    迷宫(深度搜索)
    皇后问题
    关键路径
    [NOI2015]软件包管理器
    [USACO13JAN]岛游记Island Travels
    仓鼠找sugar
    [SHOI2012]魔法树
    [HEOI2016/TJOI2016]树
  • 原文地址:https://www.cnblogs.com/Comfortable/p/8412356.html
Copyright © 2020-2023  润新知