HOJ 1007 SPF
发布日期:2022-02-05 18:27:34 浏览次数:15 分类:技术文章

本文共 653 字,大约阅读时间需要 2 分钟。

题目大意是给你一个无向图,问割点和去除割点后的连通分量

求连通分量可以在求割点的时候记录一下 也可以求出割点后删除该点做一遍dfs求出连通分量

这是第一种方法

#include
#include
#include
using namespace std;struct path{int x,y;}s[500001];int fst[500001],nxt[500001];int tim;int pre[1001],low[1001];int cut[1001];int m,n,x,y;void makeside(int x,int y){ n++; s[n].x=x; s[n].y=y; nxt[n]=fst[x]; fst[x]=n;}bool root[1001];int dfs(int u,int fa){ tim++; int lowu=tim,child=0; pre[u]=tim; for(int e=fst[u];e!=-1;e=nxt[e]) { int v=s[e].y; if(!pre[v]) { int lowv=dfs(v,u); if(lowv>=pre[u])cut[u]++; lowu=min(lowv,lowu); child++; } else if(pre[v]

惊奇的发现tim的初始值居然是-1

不知道这是什么原因

看来全局变量也要赋初值啊

转载地址:https://blog.csdn.net/li412302070/article/details/39826881 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:(一)线程--简述线程概述及原理
下一篇:AJAX基础教程

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月11日 20时24分05秒