北航数据结构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. LeetCode中等题之无重复字符的最长字串
  2. 电脑销售渠道_“新冠”影响下,平板电脑市场再现新商机
  3. Java 注解详解 (annotation)
  4. Linux Socket学习--套接口的类型和协议
  5. SQLite 被曝存在漏洞,数千应用受影响
  6. 织梦内容模型管理(人才招聘)
  7. java “lambda expressions not supported at this language level“
  8. 面试必掌握的Mysql的11个问题
  9. 3S基础知识:MapX应用讲义—加载地图数据
  10. 《码出高效:Java 开发手册》“码” 出高效的同时编写出高质量的代“码”。PDF文档资料免费开放下载!
  11. 数位板使用技巧、个人数位板见解、插画教程...
  12. 分布式统一框架的设计与实现(数据库)
  13. 为什么很多企业使用TOM邮箱收发内部邮件?
  14. MySQL入门系列:MySQL数据类型
  15. 独立开发的基于springboot + websocket IM网站聊天系统总结
  16. linux proftpd mysql_proftpd mysql quota 配置完全指南
  17. 计算机网卡更改mac地址,Mac电脑网卡MAC地址修改的具体步骤
  18. 全球通胀对IT领域的影响
  19. 使用Windows XP 的放大镜、屏幕和键盘(转)
  20. 如何在阿里云开通云服务器

热门文章

  1. springBoot+itext处理富文本转pdf
  2. 谷歌浏览器的timeline工具的使用
  3. 记录一次服务器被植入挖矿脚本事件
  4. websocket+cdn架构部署
  5. python循环练习题
  6. 苹果输入法怎么换行_朋友圈不折叠的N种方法安卓苹果通用
  7. 迅捷路由器设置找不到服务器,迅捷FAST无线路由器设置好了上不了网原因及解决方法...
  8. C#取得DataTable最大值、最小值
  9. awb入门(1).图像的色彩
  10. Linksys WRT54G 无线路由器刷机DD-WRT成功