这是一个蜜汁WA了的代码。。

  说好的样例对了就是对了呢orz

  反正我个人认为思路是没问题的不知道WA在哪了,丢个坑在这里以后填吧

 //思路:
//1节点连接的边都记录下来,依次克鲁斯卡尔枚举得出最小值。
//排序思路:将所有边按与枚举的边的差值排序。
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int inf = (<<)-;
const int maxn=1e2+;
struct qa
{
int u,v,w;
}q[];
int n,m;
int mf;
int f[maxn],p[maxn];
bool b[maxn];
inline bool cmp(const qa &a,const qa &b)
{
return abs(a.w-mf)<abs(b.w-mf);
}
inline int find1(int x)
{
return f[x]==x?x:f[x]=find1(f[x]);
}
int zx()//就是克鲁斯卡尔。。
{
int t=;
for(int i=;i<=n;i++)
f[i]=i;
int maxx=mf,minn=mf;
sort(q+,q+m+,cmp);
for(int i=;i<=m;i++)
{
int x=find1(q[i].u),y=find1(q[i].v);
if(x!=y)
{
f[x]=y;
maxx=max(maxx,q[i].w);
minn=min(minn,q[i].w);
t++;
}
if(t==n-)return maxx-minn;
}
return -;
}
int main()
{
while(scanf("%d%d",&n,&m),n||m){
int ans=;
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&q[i].u,&q[i].v,&q[i].w);
if(q[i].u==||q[i].v==)p[++ans]=q[i].w;
}
int minn=inf;
for(int i=;i<=ans;i++)
{
mf=p[i];
int mm=zx();
if(mm==-)continue;
minn=min(minn,mm);
}
if(minn!=inf)printf("%d\n",minn);
else printf("-1\n");
}
return ;
}

POJ 3522 用不同的排序方式的更多相关文章

  1. 浅析SQL查询语句未显式指定排序方式,无法保证同样的查询每次排序结果都一致的原因

    本文出处:http://www.cnblogs.com/wy123/p/6189100.html 标题有点拗口,来源于一个开发人员遇到的实际问题 先抛出问题:一个查询没有明确指定排序方式,那么,第二次 ...

  2. C#中Dictionary<TKey,TValue>排序方式

    自定义类: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy ...

  3. 使用prompt输入一句英文句子和排序方式(升/降),将所有单词按排序方式排序后在网页上输出

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. [MySQL] 字符集和排序方式

    字符串类型 MySQL的字符串分为两大类: 1)二进制字符串:即一串字节序列,对字节的解释不涉及字符集,因此它没有字符集和排序方式的概念 2)非二进制字符串:由字符构成的序列,字符集用来解释字符串的内 ...

  5. discuz 修改亮剑积分商城2.91模板(在常用设置中添加商场首页排序方式的背景颜色)

    在应用 -> 积分商城 -> 常用设置 中添加 商场首页排序方式 的背景颜色修改功能 步骤: 1.找到并打开此页面对应的模板source\plugin\aljsc\template\set ...

  6. PHP 二维数组根据某个字段按指定排序方式排序

    /** * 二维数组根据某个字段按指定排序方式排序 * @param $arr array 二维数组 * @param $field string 指定字段 * @param int $sort_or ...

  7. TreeSet的两种排序方式,含Comparable、Comparator

    1.排序的引入 由于TreeSet可以实现对元素按照某种规则进行排序,例如下面的例子 public class TreeSetDemo { public static void main(String ...

  8. 使用jdk中提供的排序方式

    package com.bjpowernode.t01; import java.util.Arrays; /** * 使用jdk中提供的排序方式 * */public class TestArray ...

  9. java学习-排序及加密签名时数据排序方式

    排序有两种 1. 类实现comparable接口调用List.sort(null)或Collections.sort(List<T>)方法进行排序 jdk内置的基本类型包装类等都实现了Co ...

随机推荐

  1. JS 判断移动端与PC端

    js判断移动端与pc端   这里介绍下使用device.js插件来判断移动端设备 地址:https://github.com/matthewhudson/device.js 示例: 1 2 3 4 5 ...

  2. Django_JavaScript

    JavaScript是什么 JavaScript是一种运行在客户端(浏览器)的编程语言,用来给网页添加动态功能. JavaScript的作用 最初目的 为了处理表单的验证操作 现在广泛的应用场景 网页 ...

  3. typescript-学习使用ts-2

    解构赋值 数组解构 let input = [1, 2]; let [first, second] = input; console.log(first); // outputs 1 console. ...

  4. HTML学习的一些笔记

    为什么会出现HTML这个标记语言 超文本标记语言 HyperText Markup Language HTML是超文本标记语言,标准通用标记语言的一个应用. "超文本"就是指页面内 ...

  5. 吴裕雄--天生自然 PYTHON3开发学习:迭代器与生成器

    list=[1,2,3,4] it = iter(list) # 创建迭代器对象 for x in it: print (x, end=" ") import sys # 引入 s ...

  6. Gson、jackson 序列化,反序列化(单个、集合)

    实体类: package com.nf.redisDemo1.entity; public class News { private long id; private String title; pr ...

  7. 电脑C盘空间不足

    电脑C盘空间不足,又不知道哪些文件可以删,可以下载下面的批处理文件 @echo off echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.t ...

  8. mysql truncate 的问题

    问题是微信群里一伙计提的 `mysql truncate 空表都需要3 4秒,要优化解决` 一开始觉得这莫名其妙,因为作这种操作的都是后台运维,不是实时的对外服务,运维又不差这3秒 其反应trunca ...

  9. 005.前端开发知识,前端基础CSS(2020-01-14)

    一.CSS权重 权重是可以叠加的,事例如下: div ul li ------> 0,0,0,3 .nav ul li ------> 0,0,1,2 a:hover -----—> ...

  10. vue2.0学习之基础内容

    import BScroll from 'better-scroll'; import star from '../star/star.vue'; import split from '../spli ...