kuangbin专题 专题九 连通图 HDU 4738 Caocao's Bridges
题目链接:https://vjudge.net/problem/HDU-4738
题目:tarjan求桥,坑点:
题目说是分岛任务...如果所有岛之间没有完全连通,就不需要执行任务了...答案直接是0...
桥上可能没人,但是,炸弹需要一个人去送,所以至少1个人。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std; const int N = (int)1e3+;
int n,m,tot,tim,solders;
int head[N],low[N],dfn[N];
struct node{
int to,nxt,w;
}e[(N*N)<<]; void init(){
for(int i = ; i <= n; ++i){
head[i] = -; dfn[i] = ;
}
tot = tim = ;
solders = (int)1e6;
} inline void add(int u,int v,int w){
e[tot].to = v; e[tot].w = w; e[tot].nxt = head[u]; head[u] = tot++;
} void tarjan(int now,int pre){
dfn[now] = low[now] = ++tim;
int to,pre_cnt = ;
for(int o = head[now]; ~o; o = e[o].nxt){
to = e[o].to;
if(to == pre && pre_cnt == ){ pre_cnt = ; continue; }//重边处理
if(!dfn[to]){
tarjan(to,now);
low[now] = min(low[now],low[to]);
if(dfn[now] < low[to]) solders = min(solders,e[o].w);
}else low[now] = min(low[now],dfn[to]);
}
} int main(){ int u,v,w;
while(~scanf("%d%d",&n,&m) && (n+m)){
init();
for(int i = ;i < m; ++i){
scanf("%d%d%d",&u,&v,&w);
add(u,v,w); add(v,u,w);
}
tarjan(,);
for(int i = ;i <= n; ++i){
if(!dfn[i]){ solders = -; break; }//岛本来就是分的
}
if(solders == -) printf("0\n");
else{
if(solders == (int)1e6) solders = -;//没法完成任务
printf("%d\n",!solders ? :solders);
}
} return ;
}
kuangbin专题 专题九 连通图 HDU 4738 Caocao's Bridges的更多相关文章
- Hdu 4738 Caocao's Bridges (连通图+桥)
题目链接: Hdu 4738 Caocao's Bridges 题目描述: 有n个岛屿,m个桥,问是否可以去掉一个花费最小的桥,使得岛屿边的不连通? 解题思路: 去掉一个边使得岛屿不连通,那么去掉的这 ...
- HDU 4738 Caocao's Bridges (2013杭州网络赛1001题,连通图,求桥)
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4738 Caocao's Bridges(Tarjan求桥+重边判断)
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4738——Caocao's Bridges——————【求割边/桥的最小权值】
Caocao's Bridges Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- hdu 4738 Caocao's Bridges 图--桥的判断模板
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4738 Caocao's Bridges
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU——4738 Caocao's Bridges
Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- hdu 4738 Caocao's Bridges (tarjan求桥)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4738 题目大意:给一些点,用一些边把这些点相连,每一条边上有一个权值.现在要你破坏任意一个边(要付出相 ...
- hdu 4738 Caocao's Bridges(桥的最小权值+去重)
http://acm.hdu.edu.cn/showproblem.php?pid=4738 题目大意:曹操有一些岛屿被桥连接,每座都有士兵把守,周瑜想把这些岛屿分成两部分,但他只能炸毁一条桥,问最少 ...
随机推荐
- 二、JVM之体系结构
一.JVM的架构模型 Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构. 具体来说这两种架构之间的区别: 基于栈式架构的特点 设计和实现更简单,适 ...
- 剑指offer-面试题16-数值的整数次方-数字
/* 题目: 实现函数double Power(double base,int exponent), 求base的exponent次方. */ /* 思路: 本题需要考虑的情况较多: 1.0的负数次方 ...
- beego控制器介绍
控制器介绍 提示:在 v1.6 中,此文档所涉及的 API 有重大变更,this.ServeJson() 更改为 this.ServeJSON(),this.TplNames 更改为 this.Tpl ...
- 0级搭建类005-Oracle Solaris Unix安装 (11.4) 公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...
- 《你不知道的javascript(上)》笔记
作用域是什么 编译原理 分词/词法分析 这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元 解析/语法分析 词法单元流(数组)转换成一个由元素逐级嵌套所组成 ...
- Log4net实用说明
Log4net实用说明 Appender Filter Layout Logger ObjectRender Repository PatterLayout格式化字符表 配置文件说明 Appender ...
- 2018 HBCPC 菜鸡选手记
我果然太菜了 A B--T2 D--T4 C--T3 F 我果然太菜了 作为学校最菜的队员,今天下午被虐惨了. 一下午才做A-D四道题 官方题解链接 晚上吃完饭再去看. A 队友A的不清楚.没看题. ...
- 为什么SSL证书要设有效期?
1.首先是为了安全考虑,CA机构不能保证一个网站永远是合法的,因此它需要定期检查网站. 2.其次,以往CA证书都非常贵,签发证书的机构通过设置期限来收费,是一种商业途径. 3.最后,还有最重要的原因就 ...
- Windows里面的虚拟机,部署的项目在同一网段也可以访问到
一直想对自己Linux里面部署的项目进行再同一网段进行共享让其他和我同网段的人都看到 今天对于这个问题我终于解决了 首先编辑自己的虚拟机 进行虚拟机网络编辑 选择VMnet8 然后进行下面的NET设置 ...
- SQLserver 数据类型转换
1:CAST 方法 CAST(任何有效的表达试 AS 要转换的数据类型 [数据类型的长度,可选]) 例:SELECT CAST(10000 as varchar(10)) SELECT CAS ...