资源简介
无向图的强连通分量(1).cpp
//这个是内网比赛的代码,用到了无向图的双连通分量 ,gabow部分是求双联通的
代码片段和文件信息
//这个是内网比赛的代码,用到了无向图的双连通分量 ,gabow部分是求双联通的
#include
#include
#include
using namespace std;
vector tmp1[5005];
set tmp2[5005];
int bcc[5005];
int pre[5005];
int path[5005];
int sath[5005];
int nm;
int ps;
int now;
int ans;
void dfs(int fuint num)
{
path[p++]=num;
sath[s++]=num;
pre[num]=now++;
for(int i=0;i {
if ( tmp1[num][i] == fu )
continue ;
if ( pre[tmp1[num][i]] == -1 )
dfs(numtmp1[num][i]) ;
else
{
while ( pre[tmp1[num][i]] < pre[path[p-1]] )
p-- ;
}
}
if(path[p-1]!=num)
return ;
p--;
while(sath[s]!=num)
{
bcc[sath[s-1]]=ans;
- 上一篇:C++将文本字符串转换成BMP图片
- 下一篇:DFA最小化算法实现
评论
共有 条评论