北航数据结构Judge网站原题,抄袭被查重后果自负!
5个月之前,由于数据结构期末考试不考图的大题,所以图学得不扎实,这里特地补上!【问题描述】
北航主要办公科研楼有新主楼、逸夫楼、如心楼、办公楼、图书馆、主楼、一号楼…。北航网络中心计划要给相关建筑物间铺设光缆进行网络连通,请给出用料最少的铺设方案。
编写程序输入一个办公区域分布图及建筑物之间的距离,计算出用料最少的铺设方案(只有一组最优解,不用考虑多组解)。要求采用Prim或Kruskal算法实现。【输入形式】
办公区域分布图的顶点(即建筑物)按照自然数(0,1,2,n-1)进行编号,从标准输入中首先输入两个正整数,分别表示线路图的顶点的数目和边的数目,然后在接下的行中输入每条边的信息,每条边占一行,具体形式如下:
<n> <e>
<id> <vi> <vj> <weight>
...
即顶点vi和vj之间边的权重是weight,边的编号是id。
【输出形式】
输出铺设光缆的最小用料数,然后另起一行输出需要铺设的边的id,并且输出的id值按照升序输出。
【样例输入】6 10
1 0 1 600
2 0 2 100
3 0 3 500
4 1 2 500
5 2 3 500
6 1 4 300
7 2 4 600
8 2 5 400
9 3 5 200
10 4 5 600
【样例输出】
1500
2 4 6 8 9#include<iostream>
#include<algorithm>
#define MAX 300
using namespace std;
struct routes{int num;int a,b;int len;
};
routes road[MAX];
int pre[MAX];
int ans[MAX];
int allusenum=0;
int find(int root)
{int son=root;int temp;while(root!=pre[root])root=pre[root];while(son!=root){temp=pre[son];pre[son]=root;son=temp;}return root;
}
bool cmp(const routes a,const routes b)
{return a.len <b.len ;
}
int kruskal(int routenum)
{int i,j=0;sort(road,road+routenum,cmp);int sum=0;for(i=0;i<routenum;i++){int roota=find(road[i].a );int rootb=find(road[i].b );if(roota!=rootb){sum+=road[i].len ;ans[j++]=road[i].num ;allusenum++;pre[roota]=rootb;}}return sum;
}
int main()
{int n,routenum;cin>>n>>routenum;for(int i=0;i<MAX;i++)pre[i]=i;for(int i=0;i<routenum;i++)cin>>road[i].num >>road[i].a >>road[i].b >>road[i].len ;int answer=kruskal(routenum);cout<<answer<<endl;sort(ans,ans+allusenum);for(int i=0;i<allusenum;i++)cout<<ans[i]<<" ";cout<<endl;}

补题系列 1 最小布线相关推荐

  1. BAT机器学习面试1000题系列(第1~305题

    1 请简要介绍下SVM,机器学习 ML模型 易SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...

  2. BAT机器学习面试1000题系列(详细版)

    BAT机器学习面试1000题系列 置顶 2017年12月14日 15:19:15 阅读数:20913 几点声明: 1.本文的内容全部来源于七月在线发布的BAT机器学习面试1000题系列: 2.文章中带 ...

  3. BAT机器学习面试1000题系列(第76~149题)

    正文共43140个字,124张图,预计阅读时间:108分钟. 76.看你是搞视觉的,熟悉哪些CV框架,顺带聊聊CV最近五年的发展史如何?深度学习 DL应用 难 原英文:adeshpande3.gith ...

  4. C语言百日千题系列之《忘情水题》第一日

    目录 绪论 1.最大数位置 2.与指定数字相同的数的个数 3.蓝桥杯2013年第四届真题-核桃的数量 4.求所给范围内水仙花数并排列 5.最大值和最小值的差 6.计算书费 7.角谷猜想 8. 最高的分 ...

  5. 机器学习面试1000题系列(第101~200题)

    本人计算机小白一枚,初学机器学习,将自己学到的知识点整理出来,一方面是对自己学习的小总结,另一方面是欢迎大家批评指正.如果觉得写得还可以,大家可以转发关注此博客,谢谢!后续会有新算法持续更新~ --- ...

  6. [分类整理IV]微软等100题系列V0.1版:字符串+数组面试题集锦

    微软等100题系列V1.0版整理IV:字符串+数组面试题集锦 July   2010年12月30日 第4章 字符串+数组面试题 在微软等100题系列V0.1版中,此类字符串+数组的问题,占了足足22道 ...

  7. [题单]多校补题 2017-2012

    仅做初步了解并筛除了不大可能会解的题目 (一般都会咕的) hard表示榜单过题人数少于50或20(大概)的题目 ****2017**** 6034 贪心 6035 树形DP OO 6038 组合数学 ...

  8. QLU—新生训练赛002补题

    I.十进制中的二进制 解题方法:直接把给定范围内的有0和1组成的数暴力输出,然后开个数组把这些数放进去,进而在数组中找要求的范围内符合条件的数就行了(一开始做的时候还以为有什么规律...一直在找规律, ...

  9. BAT机器学习面试1000题系列(第150~279题)

    首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat leadai的博客 RSS订阅 转 BAT机器学习面试1000 ...

最新文章

  1. 【进阶版九宫格背景图片】如何仅仅依靠background的几个属性组合搭配出酷炫的背景图片效果,并自适应任何宽高效果?
  2. IT菜鸟,希望大家赐教
  3. 腾讯面试--原来bitmap也可以用来排序
  4. [J2ME] Signing a midlet suite的讨论稿[Update]
  5. appium(3)-Running Tests
  6. 【CTR模型】TensorFlow2.0 的 xDeepFM 实现与实战(附代码+数据)
  7. qq数据泄露_如何保护企业移动端的数据安全?
  8. ASP.NET MVC ActionFilter自定义过滤器异常过滤器过滤器用法
  9. Java面试题!java面向对象程序设计答案
  10. 关于Memcache使用的工具类
  11. 渗透测试入门4之内网跨边界应用
  12. 信息论与编码基础概念
  13. Win10系统离线安装可选功能XPS查看器(XPS Viewer)的详细说明(修订版)
  14. 终于有人把分布式系统架构讲明白了
  15. 程序员的算法趣题 python3 - (4)
  16. Openwrt下电脑已经获得IPv6但网络连接提示“无Internet访问权限”解决方法
  17. coreldraw x8的序列号无效在哪里找?绿色安装教程
  18. 哪有什么太迟,世界多的是大器晚成
  19. Edge检查更新时出错:无法连接到Internet。如果使用防火墙,请将 MicrosoftEdgeUpdate.exe 加入允许列表中。
  20. strictmath_Java StrictMath cbrt()方法与示例

热门文章

  1. html长图转换成pdf,支持把各类文档转换成 HTML5(SVG)接口、长图片、PDF 。word转pdf、word转html5、pdf转网页html5、pdf转图片的接口...
  2. R语言Scheffe’s检验进行事后检验(post hoc)实战:单因素方差分析告诉我们并不是所有的群体手段的效果是均等的,确切地找出哪些组彼此不同使用Scheffe’s检验
  3. windows10关闭防火墙
  4. 第十四节 OSAL工作原理
  5. 用Qt画圣诞树——要画就画最丑的圣诞树
  6. 八皇后问题及其解决方案
  7. 高维非空间数据可视化
  8. 【完美解决】爬虫伪装代理IP方案
  9. Java线程(五):Executors、ThreadFactory
  10. Ninth season twentieth episode,Joey held a celebrities party but did not invited his friends!!!!!!