这题很简单,我差不多15分钟就写好代码了,运行结果也是正确的。可提交就是RE,百思不得其解,调了两个小时的时候,我才忽然发现我存边的时候数组开小了,我当时也想到肯定是数组问题,但是我却忽律了图的边不等于顶点的个数,我是拿顶点个数来开的数组(我不是用矩阵存的)。改过之后,就AC了。

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 #define MAXN 110
 5 struct edge{
 6   int s;
 7   int e;
 8   int dis;
 9 }a[MAXN*60];
10 
11 int N,Q,pre[MAXN],rank[MAXN];
12 
13 void init(){
14   int i;
15   for(i=1;i<=N;i++){
16     pre[i]=-1;
17     rank[i]=1;
18   }
19 }
20 
21 int find(int i){
22   if(pre[i]==-1) return i;
23   else return pre[i]=find(pre[i]);
24 }
25 
26 void Union(int i,int j){
27   i=find(i);
28   j=find(j);
29   if(i==j) return;
30   int temp=rank[i]+rank[j];
31   if(rank[i]<rank[j]){
32     pre[i]=j;
33     rank[j]=temp;
34   }
35   else{
36     pre[j]=i;
37     rank[i]=temp;
38   }
39 }
40 int cmp(const void *c,const void *b){
41   return (*(edge*)c).dis-(*(edge*)b).dis;
42 }
43 int main(){
44   int i,j,k,temp;
45   int z,y,sum;
46   while(scanf("%d",&N)!=-1){ 
47     k=0;
48     for(i=1;i<=N;i++){
49       for(j=1;j<=i;j++) scanf("%d",&temp);
50       for(;j<=N;j++){
51         scanf("%d",&temp);
52         a[k].s=i;
53         a[k].e=j;
54         a[k].dis=temp;
55         k++;
56       }
57     }
58     qsort(a,k,sizeof(a[0]),cmp);
59     init();
60     scanf("%d",&Q);
61     while(Q--){
62       scanf("%d%d",&z,&y);
63       Union(z,y);
64     }
65     sum=0;
66     for(i=0;i<k;i++){
67       if(find(a[i].s)!=find(a[i].e)){
68         sum+=a[i].dis;
69         Union(a[i].s,a[i].e);
70       }
71     }
72     printf("%d\n",sum);
73   }    
74 }

转载于:https://www.cnblogs.com/saintqdd/archive/2007/11/07/951690.html

hdu 1102 pku 2421 解题报告相关推荐

  1. hdu 1241 Oil Deposits 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241 第一次写搜索代码 花了好大的功夫检查 看了别人的结题报告 还是错误一大堆 哎 题目是这样的 @表 ...

  2. hdu 1003 Max Sum 解题报告

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 Problem Description Given a sequence a[1],a[2],a[3 ...

  3. HDU 1421 搬寝室 解题报告(超详细)

    **搬寝室 Time Limit: 2000/1000 MS Memory Limit: 65536/32768 K Problem Description 搬寝室是很累的,xhd深有体会.时间追述2 ...

  4. hdu 2602 Bone Collector 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 在没学01背包时做的,很遗憾的是,wa了很多次. wa代码 1 #include <ios ...

  5. pku 1013 解题报告

    题意:给出了三次天平的称重且一定能够从这三次称重中找出那个假的硬币,并且要求输出是比真的硬币轻了还是重了. 解题方法:由于最多只有13个银币所以采用了枚举. 代码(学习来源:<程序设计在线导引& ...

  6. hdu 2049 不容易系列之(4)——考新郎 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049 写这篇解题报告时 我真的很气愤 对自己又一次犯下低级错误改了两个小时 int型的数据居然用%I6 ...

  7. hdu 2058 解题报告 - The sum problem

    hdu 2058 解题报告 - The sum problem 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2058 等差求和公式: Sn=(a1+aN ...

  8. 东南大学2004年程序设计第一届初赛解题报告

    东南大学2004年第一届逻辑算法大赛初赛解题报告 农夫三拳@seu                                                                    ...

  9. 解题报告 (十三) 尺取法

    文章目录 尺取法 解题报告 PKU 2100 Graveyard Design PKU 3061 Subsequence PKU 2739 Sum of Consecutive Prime Numbe ...

最新文章

  1. HTML5学习笔记(一):HTML简介
  2. Android语音录入与邮件发送
  3. 无线网络共享到CM3计算板调试时 connect: Network is unreachable
  4. Java设计模式(2 / 23):观察者模式
  5. armeabi和armeabi-v7a的区别
  6. 史上最详细之Centos7安装与配置Redis6
  7. 亚马逊与Visa就交易费达成协议 重新接受Visa支付
  8. 沸腾新十年 | 中国语音产业江湖和科大讯飞的前半生...
  9. matlab求车辆调度问题的代码,车间作业调度问题遗传算法_matlab源代码
  10. CSS学习(四)——字体样式,文本样式
  11. 框架设计--第六章 初识MyBatis--习题答案
  12. 什么是软件测试?进行软件测试的目的是什么?
  13. 超全回顾 | 5位抖音工程师揭秘抖音iOS基础技术(附PPT和回放视频)
  14. requests结果显示“请开启JavaScript并刷新该页”,selenium不用cookie解决
  15. 谷歌整体战略:关于人工智能、云服务和登月计划的未来
  16. 工业通讯 | Profinet协议基础知识(四)
  17. 刷脸支付行业代理的几个坑,你踩了吗?
  18. 2.海康威视-web3.0插件连接摄像头实现预览效果
  19. CAD编辑工具中如何查找图纸中的坐标点的位置
  20. 网站商务通与百度商桥的区别

热门文章

  1. HDU 6175 算术
  2. Beef加载MSF插件
  3. 置顶java[常用]-[语法]-[基础操作]
  4. oracle 11g禁用和强制direct path read
  5. 04 列表的增删改查 常用方法 元祖 range
  6. java面试问题你知道几个呢?
  7. IOS 2D游戏开发框架 SpriteKit--续(创建敌对精灵)
  8. Jsoup 简介书写
  9. Kotlin学习笔记(2)- 空安全
  10. Python偏函数应用举例-路灯指示牌