http://acm.hdu.edu.cn/showproblem.php?pid=4738

题就是求出所有的桥,然后输出桥的权值的最小值。

如果一开始是不连通的,输出0.

图有重边,需要处理, 不能用邻接矩阵。、、、因为邻接矩阵不能表示两点之间有2条路,如果有两条路就不能算是桥;

还有如果取到的最小值是0的话,要输出1,表示要派一个人过去。

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<queue>
#include<algorithm>
using namespace std;
#define N 1100
#define INF 0xfffffff struct node
{
int x,y;
} bridge[N];
struct Edge
{
int v, c, next;
} e[N*N];
int low[N], cnt, dfn[N], n, m, f[N], maps[N][N], head[N], Min;
int Time, nBridge;
void Init()
{
Time = cnt = nBridge = ;
memset(low, , sizeof(low));
memset(dfn, , sizeof(dfn));
memset(bridge, , sizeof(bridge));
memset(f, , sizeof(f));
memset(maps, -, sizeof(maps));
memset(head, -, sizeof(head));
}
void add(int u, int v, int c)
{
e[cnt].v = v;
e[cnt].c = c;
e[cnt].next = head[u];
head[u] = cnt++;
}
void Tajar(int u, int father)
{
f[u]=father;
low[u]=dfn[u]=++Time;
int k=;
for(int i=head[u]; i!=-; i=e[i].next)
{
int v=e[i].v;
if(father==v&&!k)
{
k++;
continue;
}
if(!dfn[v])
{
Tajar(v, u);
low[u]=min(low[u],low[v]);
if(low[v]>dfn[u])
Min=min(Min, e[i].c);
}
else
{
low[u]= min(low[u], dfn[v]);
} }
} int main()
{
int a,b,c;
while(scanf("%d %d",&n,&m), n+m)
{
Init();
for(int i=; i<=m; i++)
{
scanf("%d %d %d",&a,&b,&c);
add(a, b, c);
add(b, a, c);
}
int k=;
Min=INF;
for(int i=; i<=n; i++)
{
if(!dfn[i])
{
Tajar(i,-);
k++;
}
}
if(k>)
{
printf("0\n");
continue;
}
if(Min==)
Min=;
else if(Min==INF)
Min=-;
printf("%d\n", Min);
}
return ;
}

Caocao's Bridges---hdu4738(桥)的更多相关文章

  1. HDU4738:Caocao's Bridges(求桥)

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

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

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

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

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

  4. hdu-4738.Caocao's Bridges(图中权值最小的桥)

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

  5. HDU-4738 Caocao's Bridges,注意重边不是桥!

    Caocao's Bridges 题意:曹操赤壁之战后卷土重来,他在n个小岛之间建立了m座桥.现在周瑜只有一颗炮弹,他只能炸毁一座桥使得这些岛屿不再连通.每座桥上都可能会有士兵把手,如果想安放***那 ...

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

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

  7. hdoj 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 (2013杭州网络赛1001题,连通图,求桥)

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

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

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

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

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

随机推荐

  1. zookeeper_process内存泄露问题

    单线程模式下,不能递归调用zookeeper_process函数,否则会造成内存泄露. 下列图是在watcher中调用zookeeper_process时,用valgrind检测到的情况:

  2. 一个不错的在线的js调试器

    一个不错的在线的js调试器,可见即可得: http://jsbin.com/

  3. unity之Mathf类

    说明:Mathf类主要提供数学计算的函数与常量,包含了所有数学计算时需要用到的函数.所以掌握Mathf类里面的成员变量和成员函数是必要的. 使用Mathf:通常的如果使用一个类中的成员变量或者成员函数 ...

  4. sublime text 删除插件

    1.ctrl+shift+p 输入remove package 选择要删掉的插件即可 2.去掉产生临死文件的插件:phptools

  5. 如何在vs2008安装64位编译器

    1.打开D:\Microsoft Visual Studio 9.0\Microsoft Visual Studio 2008 Professional Edition - CHS setup.exe ...

  6. 【matlab】输出显示函数 sprintf()&disp()

    disp()功能类似于c语言中的print:java语言中的System.out.println(): Matlab的disp()函数  : 1.输出字符串: >>disp('my tes ...

  7. C# Serializable(转)

    C# Serializable System.SerializableAttribute 串行化是指存储和获取磁盘文件.内存或其他地方中的对象.在串行化时,所有的实例数据都保存到存储介质上,在取消串行 ...

  8. js常用总结

    常用总结,方便大家学习共享.   1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document->html-& ...

  9. Python 入门(一)定义字符串+raw字符串与多行字符串

    定义字符串 前面我们讲解了什么是字符串.字符串可以用''或者""括起来表示. 如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" " ...

  10. php 数据库练习之租房子

    题目: 示例图 本次只做图4这个表,因为之前的都已做过 自己在mydb数据库建了一个house表 如图: 自己做的代码: <!DOCTYPE html PUBLIC "-//W3C// ...