题目链接:https://vjudge.net/problem/HDU-4738

题目:tarjan求桥,坑点:

题目说是分岛任务...如果所有岛之间没有完全连通,就不需要执行任务了...答案直接是0...

桥上可能没人,但是,炸弹需要一个人去送,所以至少1个人。

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. const int N = (int)1e3+;
  7. int n,m,tot,tim,solders;
  8. int head[N],low[N],dfn[N];
  9. struct node{
  10. int to,nxt,w;
  11. }e[(N*N)<<];
  12.  
  13. void init(){
  14. for(int i = ; i <= n; ++i){
  15. head[i] = -; dfn[i] = ;
  16. }
  17. tot = tim = ;
  18. solders = (int)1e6;
  19. }
  20.  
  21. inline void add(int u,int v,int w){
  22. e[tot].to = v; e[tot].w = w; e[tot].nxt = head[u]; head[u] = tot++;
  23. }
  24.  
  25. void tarjan(int now,int pre){
  26. dfn[now] = low[now] = ++tim;
  27. int to,pre_cnt = ;
  28. for(int o = head[now]; ~o; o = e[o].nxt){
  29. to = e[o].to;
  30. if(to == pre && pre_cnt == ){ pre_cnt = ; continue; }//重边处理
  31. if(!dfn[to]){
  32. tarjan(to,now);
  33. low[now] = min(low[now],low[to]);
  34. if(dfn[now] < low[to]) solders = min(solders,e[o].w);
  35. }else low[now] = min(low[now],dfn[to]);
  36. }
  37. }
  38.  
  39. int main(){
  40.  
  41. int u,v,w;
  42. while(~scanf("%d%d",&n,&m) && (n+m)){
  43. init();
  44. for(int i = ;i < m; ++i){
  45. scanf("%d%d%d",&u,&v,&w);
  46. add(u,v,w); add(v,u,w);
  47. }
  48. tarjan(,);
  49. for(int i = ;i <= n; ++i){
  50. if(!dfn[i]){ solders = -; break; }//岛本来就是分的
  51. }
  52. if(solders == -) printf("0\n");
  53. else{
  54. if(solders == (int)1e6) solders = -;//没法完成任务
  55. printf("%d\n",!solders ? :solders);
  56. }
  57. }
  58.  
  59. return ;
  60. }

kuangbin专题 专题九 连通图 HDU 4738 Caocao's Bridges的更多相关文章

  1. Hdu 4738 Caocao's Bridges (连通图+桥)

    题目链接: Hdu 4738 Caocao's Bridges 题目描述: 有n个岛屿,m个桥,问是否可以去掉一个花费最小的桥,使得岛屿边的不连通? 解题思路: 去掉一个边使得岛屿不连通,那么去掉的这 ...

  2. HDU 4738 Caocao's Bridges (2013杭州网络赛1001题,连通图,求桥)

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  3. HDU 4738 Caocao's Bridges(Tarjan求桥+重边判断)

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. HDU 4738——Caocao's Bridges——————【求割边/桥的最小权值】

     Caocao's Bridges Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  5. hdu 4738 Caocao's Bridges 图--桥的判断模板

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. HDU 4738 Caocao's Bridges

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  7. HDU——4738 Caocao's Bridges

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  8. hdu 4738 Caocao's Bridges (tarjan求桥)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4738 题目大意:给一些点,用一些边把这些点相连,每一条边上有一个权值.现在要你破坏任意一个边(要付出相 ...

  9. hdu 4738 Caocao's Bridges(桥的最小权值+去重)

    http://acm.hdu.edu.cn/showproblem.php?pid=4738 题目大意:曹操有一些岛屿被桥连接,每座都有士兵把守,周瑜想把这些岛屿分成两部分,但他只能炸毁一条桥,问最少 ...

随机推荐

  1. centos6/7 下升级openssl并安装python3

    今天是2019年的最后一天了,看了看自己今年写的随笔就一篇,实在有点少得可怜,就想着趁现在有点时间就再写一篇,^_^ centos6 或者centos 7 python 默认都是安装python 2 ...

  2. sqlserver中float转varchar时不显示科学计数法

    MSSQL中 float转换为varchar 变成科学计数法解决方案   在系统初始化的时候,因为有同事,没有在数值型的数据前面加上 单引号,导致进入数据库后都变成float型我们需要做以下转换就能将 ...

  3. 解决linux 终端UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation byte

    vi   /etc/locale.conf 修改LANG="zh_CN.gbk" 最后执行source /etc/locale.conf 即可永久生效,下次登录,中文就不会乱码了.

  4. MapReduce自定义排序器不生效一个可能的原因

    有问题的代码: package com.mytq.weather; import org.apache.hadoop.io.WritableComparable; import org.apache. ...

  5. jeecgboot数据字典使用

    jeecgboot数据字典使用 input页面下拉框使用 效果展示 实现 定义数据字典 引用并调用JDictSelectTag组件 import JDictSelectTag from '@/comp ...

  6. 多个iframe,删除详情页时刷新同级iframe的table list

    说明:在使用iframe开发时,经常遇到多个iframe之间的操作. 下面就是一个需求:在一个iframe中关闭时,刷新指定的iframe: 添加需要刷新的标识reload=true //添加npi2 ...

  7. eureka server 单节点与多节点部署演示

    环境搭建 目录结构(ad-eureka为子模块) --ad-spring-cloud --ad-eureka --pom.xml --pom.xml 主pom.xml <?xml version ...

  8. CTF——代码审计之变量覆盖漏洞writeup【1】

    题目: 所需基础知识: 分析: 思路:由于目的是要拿$flag的值,所以可以得出最终会输出两个变量,而$flag的值在红框那行,被我们自己post的值给覆盖,所以flag值肯定不会在这出来,那么只剩下 ...

  9. Java 13 新特性

    一.core-libs/java.nio 添加 FileSystems.newFileSystem(Path, Map<String, ?>) 方法 java.nio.file.FileS ...

  10. 3ds Max File Format (Part 3: The department of redundancy department; Config)

    Now we'll have a look at the Config stream. It begins like follows, and goes on forever with various ...