【洛谷T580】【模板】template 鸡腿 tarjan找割点
2015-11-05 10:36
281 查看
模板题。
代码:
代码:
[code]#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> using namespace std; const int SIZE=1000010; int head[SIZE],nxt[SIZE],tot=0,to[SIZE]; void build(int f,int t) { to[++tot]=t; nxt[tot]=head[f]; head[f]=tot; } int low[SIZE],dfn[SIZE],dfs_clock=0; bool cut[SIZE]; void dfs(int u,int fa) { low[u]=dfn[u]=++dfs_clock; int child=0; for(int i=head[u];i;i=nxt[i]) { int v=to[i]; if(!dfn[v]) { dfs(v,u); child++; low[u]=min(low[u],low[v]); if(low[v]>=dfn[u]) cut[u]=1; } else if(dfn[v]<dfn[u]&&v!=fa) { low[u]=min(low[u],dfn[v]); } } if(child==1&&fa==0) cut[u]=0; } int main() { int n,m; scanf("%d%d",&n,&m); while(m--) { int a,b; scanf("%d%d",&a,&b); build(a,b); build(b,a); } for(int i=1;i<=n;i++) if(!dfn[i]) dfs(i,0); int cnt=0; for(int i=1;i<=n;i++) if(cut[i]) cnt++; printf("%d",cnt); return 0; }
相关文章推荐
- super() extends() private总结demo
- spring mvc在Controller中获取ApplicationContext
- linux-awk 命令详解!
- 最优程序
- 数据库事务的四个基本性质(ACID)
- InfoBright4.5企业版安装详细步骤
- 黑马程序员—Java基础—集合框架1
- 通过PDF矢量图片自动生成@1x, @2x, @3x切图
- 【Leet Code】54. Spiral Matrix---Medium
- flash播放器插件与flash播放器的区别
- 水煮栗子
- good excel website
- Javascript DOM操作实例
- HDU 2243 考研路茫茫——单词情结
- drools6.3.0+eclipse开发环境搭建
- Excel商业图表制作精选-张辛-专题视频课程
- UnicodeEncodeError: ‘gbk’ codec can’t encode character u’\u200e’ in position 43: illegal multibyte s
- 视频会议根据不同行业应用要求体现不同价值
- 《C Primer Plus》学习笔记之 C内存管理
- scanf()、gets()、getchar()函数的学习笔记