博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对杭电彻底无语
阅读量:4650 次
发布时间:2019-06-09

本文共 909 字,大约阅读时间需要 3 分钟。

唉。。。低级错误!!!qsort(ku,m,sizeof(ku[0]),cmp);原来把m写成n;唉。。。搞了整整一天,看来还是不要拿相似题目的代码改,那样错了也不知道在哪里
总结这题,ku数组尽量开大点,其实跟1863差不多的,本以为改下代码肯定能过,谁知,唉。。。说多了都是泪
#include
#include
int fa[105],n,m,s;
struct node
{
    int be;
    int en;
    int cost;
};
struct node ku[6000];
int cmp(const void *aa,const void *bb)
{
    struct node *a=(struct node *)aa;
    struct node *b=(struct node *)bb;
    return a->cost-b->cost;
}
int find(int x)
{
    if(fa[x]!=x)
    fa[x]=find(fa[x]);
    return fa[x];
}
void kruskal()
{
    int ka,kb,i;
    for(i=0;i
    {
        ka=find(ku[i].be);
        kb=find(ku[i].en);
       if(ka==kb)
                continue;
            else
            {
                s+=ku[i].cost;
                if(ka
                    fa[kb]=ka;
                else
                    fa[ka]=kb;
            }
    }
    }
main()
{
    int i,sf;
    while(scanf("%d",&n),n!=0)
    {
        m=n*(n-1)/2;
         for(i=1;i<=n;i++)
        fa[i]=i;
        for(i=0;i
        {
        scanf("%d%d%d%d",&ku[i].be,&ku[i].en,&ku[i].cost,&sf);
        if(sf==1)
        ku[i].cost=0;
    }
    s=0;
     qsort(ku,m,sizeof(ku[0]),cmp);
        kruskal();
      printf("%d\n",s);
}
}

转载于:https://www.cnblogs.com/tanjianwen/p/5245446.html

你可能感兴趣的文章
Shell变量
查看>>
软件工程15 结对编程作业
查看>>
vim插件
查看>>
android studio 一次编译错误:Error:Minimum supported Gradle version is 2.14.1.
查看>>
GreenDAO数据库版本升级
查看>>
三种java 去掉字符串中的重复字符函数
查看>>
Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
查看>>
如何给C++设计一个GC
查看>>
【原】Ubuntu ATI/Intel双显卡 驱动安装
查看>>
VMware-WorkStation 去掉VM工具栏
查看>>
开始写博客啦
查看>>
用TableAdapter创建DataTable定义及查询
查看>>
用 k8s 管理机密信息 - 每天5分钟玩转 Docker 容器技术(155)
查看>>
href,url, src属性的区别
查看>>
Java系列之原生数据类型
查看>>
OD使用教程21(下) - 调试篇21
查看>>
对链表的插入操作
查看>>
Memo组件
查看>>
最新GitHub新手使用教程(Windows Git从安装到使用)——详细图解
查看>>
Qt532界面.ZC测试
查看>>