poj1523赤裸裸的割点
这题真是没什么好说的。。。赤裸裸的求割点直接模板上
#include<cstdio>
#include<cstring>
#include<iostream>
#include<vector>
#define maxn 1100 using namespace std; vector<int> g[maxn];
int dfn[maxn],low[maxn];
int vis[maxn],cnt[maxn];
int k=,f=,index=,m;
void dfs(int x)
{
// cout<<"1"<<endl;
int c=;
for(int i=;i<g[x].size();i++)
{
int e=g[x][i];
if(vis[e]==)
{
dfn[e]=low[e]=++index;
vis[e]=;
dfs(e);
low[x]=min(low[e],low[x]);
if(low[e]>=dfn[x])
{
cnt[x]++;
}
}
else low[x]=min(low[x],dfn[e]);
}
}
void solve()
{
f=index=;
memset(dfn,,sizeof(dfn));
memset(cnt,,sizeof(cnt));
memset(vis,,sizeof(vis));
memset(low,,sizeof(low));
printf("Network #%d\n",k++);
vis[]=;
dfn[]=low[]=++index;
dfs();
if(cnt[]>=) cnt[]--;
for(int i=;i<=m;i++)
{
if(cnt[i])
{
printf(" SPF node %d leaves %d subnets\n",i,cnt[i]+);
f=;
}
}
if(f==) printf(" No SPF nodes\n");
printf("\n");
}
int main()
{
int a,b;
while(scanf("%d",&a)!=EOF)
{
for(int i=;i<=maxn;i++)
g[i].clear();
if(a==) break;
scanf("%d",&b);
g[a].push_back(b);
g[b].push_back(a);
m=a<b?b:a;
while()
{
int x,y;
scanf("%d",&x);
if(x==) break;
scanf("%d",&y);
g[x].push_back(y);
g[y].push_back(x);
m=m>x?m:x;
m=m>y?m:y;
}
solve();
}
return ;
}
poj1523赤裸裸的割点的更多相关文章
- POJ1523 SPF[无向图割点]
SPF Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 8139 Accepted: 3723 Description C ...
- POJ1523 SPF(割点模板)
题目求一个无向图的所有割点,并输出删除这些割点后形成几个连通分量.用Tarjan算法: 一遍DFS,构造出一颗深度优先生成树,在原无向图中边分成了两种:树边(生成树上的边)和反祖边(非生成树上的边). ...
- POJ1523 Tarjan求割点以及删除割点之后强连通分量的数量
题目链接:http://poj.org/problem?id=1523 SPF:A Single Point of Failure也就是割点(一个点导致网络之间的不连通),由于给出的图是无向图,所以只 ...
- poj1523 求割点 tarjan
SPF Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7678 Accepted: 3489 Description C ...
- POJ1523:SPF(无向连通图求割点)
题目:http://poj.org/problem?id=1523 题目解析: 注意题目输入输入,防止PE,题目就是求割点,并问割点将这个连通图分成了几个子图,算是模版题吧. #include < ...
- POJ1523(割点所确定的连用分量数目,tarjan算法原理理解)
SPF Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7406 Accepted: 3363 Description C ...
- poj1523求割点以及割后连通分量数tarjan算法应用
无向图,双向通道即可,tarjan算法简单应用.点u是割点,条件1:u是dfs树根,则u至少有2个孩子结点.||条件2:u不是根,dfn[u]=<low[v],v是u的孩子结点,而且每个这样的v ...
- POJ 1523 SPF(求割点)
题目链接 题意 : 找出图中所有的割点,然后输出删掉他们之后还剩多少个连通分量. 思路 : v与u邻接,要么v是u的孩子,要么u是v的祖先,(u,v)构成一条回边. //poj1523 #includ ...
- poj 1523 SPF(tarjan求割点)
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
随机推荐
- 拖拽调整Div大小
今天写了一天这个jquery插件: 可以实现对div进行拖拽来调整大小的功能. (function ($) { $.fn.dragDivResize = function () { var delta ...
- 洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace
坏掉的项链Broken Necklace 难度:★ Code: #include <iostream> #include <cstdio> #include <cstri ...
- 1044 拦截导弹 1999年NOIP全国联赛提高组 个人博客:attack.cf
1044 拦截导弹 1999年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 某国为了防御敌 ...
- hashlib(加盐)回炉练习
简介: 用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法.在python3中已经废弃了md5和sha模块,简单说明 ...
- JFinal视频教程
最近开始录制JFinal视频教程,发布在腾讯课堂上,免费公开面向JFinal开发者,作为JFinal开发者入门学习.实际项目用遇到问题寻找解决方案的最好途径. 目前JFinal课程已经开始更新. 腾讯 ...
- Electron 入门文档
https://www.kancloud.cn/wizardforcel/electron-doc/137765 https://segmentfault.com/a/1190000006207600 ...
- SQL Server 2016,2014 “无法找到数据库引擎启动句柄”
当我决定安装SharePoint 2016 IT预览版时,我想我应该将它安装在Windows Server 2016技术预览版以及SQL Server 2016社区技术预览版(CTP)上.我敢打赌,你 ...
- Mysql安装报错解决办法
.msi版MySQL安装包在安装最后执行的时候到第三部或者第四部死掉 主要是因为之前安装的版本没有卸载干净,要卸载干净MySQ安装包有一些几个步骤: 1.通过卸载程序MySQL的相关组件 2.删除My ...
- AdonisJs(Node框架)学习总结
先列出作为前端开发人员必须知道的10个NodeJs框架 AdonisJs 一个服务端渲染的MVC框架,它是 Laravel (PHP框架)的一个 NodeJS 版本. 可以安装脚手架工具adonis ...
- COGS 1715. [CQOI2011]动态逆序对
★★★ 输入文件:inverse.in 输出文件:inverse.out 简单对比时间限制:2 s 内存限制:128 MB [题目描述] 对于序列A,它的逆序对数定义为满足i<j ...