hdu 1598 暴力+并查集
#include<stdio.h>
#include<stdlib.h>
#define N 300
int pre[N];
int find(int u) {
if(u!=pre[u])
pre[u]=find(pre[u]);
return pre[u];
}
struct node {
int u,v,speed;
}ma[1100];
int cmp(const void *a,const void *b) {
return (*(struct node *)a).speed-(*(struct node *)b).speed;
}
int main() {
int q,max,min,i,j,s,t,n,m,cha,flag,a,b;
while(scanf("%d%d",&n,&m)!=EOF) {
for(i=0;i<m;i++)
scanf("%d%d%d",&ma[i].u,&ma[i].v,&ma[i].speed);
scanf("%d",&q);
qsort(ma,m,sizeof(ma[0]),cmp);
while(q--) {
scanf("%d%d",&s,&t);
cha=1000000;
for(i=0;i<m;i++) {
flag=0;
min=1000000;
max=-1;
for(j=1;j<=n;j++)
pre[j]=j;
for(j=i;j<m;j++) {
a=find(ma[j].u);
b=find(ma[j].v);
if(a!=b) {
pre[a]=b;
if(max<ma[j].speed)max=ma[j].speed;
if(min>ma[j].speed)min=ma[j].speed;
}
if(find(s)==find(t)) {flag=1;break;}
}
if(max-min<cha&&flag==1)
cha=max-min;
}
if(cha==1000000)printf("-1\n");
else printf("%d\n",cha);
}
}
return 0;
}
hdu 1598 暴力+并查集的更多相关文章
- hdu 2473 Junk-Mail Filter (暴力并查集)
Problem - 2473 为什么标题写的是暴力并查集?因为我的解法跟网上的有所不同,方法暴力很多. 先解释题意,这是一个模拟处理垃圾邮件的问题.垃圾邮件要根据它们的性质进行分类.对于10w个邮件, ...
- 2016蓝桥杯省赛C/C++A组第七题 剪邮票(暴力+并查集)
题意:有12张连在一起的12生肖的邮票.现在你要从中剪下5张来,要求必须是连着的.(仅仅连接一个角不算相连) 分析:暴力+并查集. 1.记录下每个数字所在位置. 2.先枚举各不相同的5个数的所有可能情 ...
- HDU 5631 Rikka with Graph 暴力 并查集
Rikka with Graph 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5631 Description As we know, Rikka ...
- HDU 2818 (矢量并查集)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2818 题目大意:每次指定一块砖头,移动砖头所在堆到另一堆.查询指定砖头下面有几块砖头. 解题思路: ...
- HDU 1198(并查集)
题意:给你11个图,每一个都有管道,然后给一张由这11个正方形中的n个组成的图,判断有几条连通的管道: 思路:在大一暑假的时候做过这道题,当时是当暴力来做的,正解是并查集,需要进行一下转换: 转换1: ...
- hdu 1116 欧拉回路+并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1116 给你一些英文单词,判断所有单词能不能连成一串,类似成语接龙的意思.但是如果有多个重复的单词时,也必须满足这 ...
- Bipartite Graph hdu 5313 bitset 并查集 二分图
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5313 题意: 给出n个顶点,m条边,问最多添加多少条边使之构成一个完全二分图 存储结构: bitset ...
- Codeforces Round #360 (Div. 1) D. Dividing Kingdom II 暴力并查集
D. Dividing Kingdom II 题目连接: http://www.codeforces.com/contest/687/problem/D Description Long time a ...
- hdu 3081(二分+并查集+最大流||二分图匹配)
Marriage Match II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
随机推荐
- Single document interface和Multiple document interface
https://en.wikipedia.org/wiki/Single_document_interface https://msdn.microsoft.com/en-us/library/b2k ...
- 在Android中创建文件
import java.io.File; import java.io.IOException; import android.app.Activity; import android.os.Bund ...
- 82.角色管理Extjs 页面
1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...
- .Net Core中使用Quartz.Net Vue开即用的UI管理
Quartz.NET Quartz.Net 定制UI维护了常用作业添加.删除.修改.停止.启动功能,直接使用cron表达式设置作业执行间隔,有完整的日志记录. Quartz.NET是一个功能齐全的开源 ...
- 基于移动Web的视图引擎实现
第一步:移动视图引擎实现 using System.Web.Mvc; /// <summary> /// 移动版View引擎 /// </summary> public cla ...
- Windows7环境下Composer 安装包的Cache目录位置
http://segmentfault.com/a/1190000000355928 https://getcomposer.org/doc/ 要说Composer的用法,以后再说,现在只记录wind ...
- ThinkPHP3.2.3对数据的添、删、改、查(CURD)
对数据的添加: public function form() { parent::common(); $obj = D('Leave'); if (IS_POST) { $data = I('post ...
- Java冒泡,快速,插入,选择排序^_^+二分算法查找
这段时间在学Java,期间学到了一些排序和查找方法.特此写来和大家交流,也方便自己的日后查看与复习. 1.下边是Java的主类: public class Get { public static vo ...
- [转载]MySql事物处理
事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如 ...
- Embedded之Stack之一
1 Intro When a program starts executing, a certain contiguous section of memory is set aside for the ...