/**
[桥]zoj 2588 Burning Bridges
无向图求出所有桥
*/
#include <stdio.h>
#include <string.h>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
#define N 10001
#define M 100001
#define MK make_pair
vector<pair<int,int> > g[N];
map<pair<int,int>,int> mulEd;
void addedge(int u,int v,int i)
{
g[u].push_back(MK(v,i));
g[v].push_back(MK(u,i));
mulEd[MK(u,v)] ++;
mulEd[MK(v,u)] ++;
}
int n,m,bridge[M],nb;
int low[N],dfn[N],vis[N];
void dfs(int u,int f,int dth)
{
vis[u] = 1;
low[u] = dfn[u] = dth;
for(int i = 0; i < g[u].size(); ++i)
{
int v = g[u][i].first;
if(v != f && vis[v] == 1)
[桥]zoj 2588 Burning Bridges
最新推荐文章于 2018-11-29 08:28:13 发布
该博客主要介绍了如何解决ZOJ 2588题目的算法,即在无向图中找出所有的桥。通过C++实现,使用DFS深度优先搜索,并记录低点和发现时间,对边进行判断来确定桥的条件。程序包含添加边、DFS遍历和主函数等关键部分。
摘要由CSDN通过智能技术生成