这题真是没什么好说的。。。赤裸裸的求割点直接模板上

 #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赤裸裸的割点的更多相关文章

  1. POJ1523 SPF[无向图割点]

    SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8139   Accepted: 3723 Description C ...

  2. POJ1523 SPF(割点模板)

    题目求一个无向图的所有割点,并输出删除这些割点后形成几个连通分量.用Tarjan算法: 一遍DFS,构造出一颗深度优先生成树,在原无向图中边分成了两种:树边(生成树上的边)和反祖边(非生成树上的边). ...

  3. POJ1523 Tarjan求割点以及删除割点之后强连通分量的数量

    题目链接:http://poj.org/problem?id=1523 SPF:A Single Point of Failure也就是割点(一个点导致网络之间的不连通),由于给出的图是无向图,所以只 ...

  4. poj1523 求割点 tarjan

    SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7678   Accepted: 3489 Description C ...

  5. POJ1523:SPF(无向连通图求割点)

    题目:http://poj.org/problem?id=1523 题目解析: 注意题目输入输入,防止PE,题目就是求割点,并问割点将这个连通图分成了几个子图,算是模版题吧. #include < ...

  6. POJ1523(割点所确定的连用分量数目,tarjan算法原理理解)

    SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 7406   Accepted: 3363 Description C ...

  7. poj1523求割点以及割后连通分量数tarjan算法应用

    无向图,双向通道即可,tarjan算法简单应用.点u是割点,条件1:u是dfs树根,则u至少有2个孩子结点.||条件2:u不是根,dfn[u]=<low[v],v是u的孩子结点,而且每个这样的v ...

  8. POJ 1523 SPF(求割点)

    题目链接 题意 : 找出图中所有的割点,然后输出删掉他们之后还剩多少个连通分量. 思路 : v与u邻接,要么v是u的孩子,要么u是v的祖先,(u,v)构成一条回边. //poj1523 #includ ...

  9. poj 1523 SPF(tarjan求割点)

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

随机推荐

  1. Oracle批量SQL之 BULK COLLECT 子句

    BULK COLLECT 子句会批量检索结果,即一次性将结果集绑定到一个集合变量中,并从SQL引擎发送到PL/SQL引擎.通常可以在SELECT INTO.FETCH INTO以及RETURNING ...

  2. asp.net重启web应用程序域

    我把加载到static静态变量中了,是在数据库中存的,这样每次改了一下必须要重启一下web应用程序,每次去iis操作太麻烦了,于是找的了这个重启的办法,一句话代码: System.Web.HttpRu ...

  3. git从无到有建立一个仓库并上传文件

    第一步,创建仓库 登录自己的码云  第二步,本地操作 1.到你所要上传的文件夹中右键 选择git bash here 2.初始化项目 git init 3.连接远程仓库 刚才我们建立的时候的远程地址就 ...

  4. SlickEdit 18.0 版本发布 同时更新破解文件

    18.0版本没有太大的惊喜 多了如下功能 Multiple Document Group Interface Repository Log Browser History Diff Support f ...

  5. 利用任务计划自动删除指定日期的SQLServer备份文件

    利用任务计划自动删除指定日期的SQLServer备份文件 命令FORFILES [/P pathname] [/M searchmask] [/S]         [/C command] [/D ...

  6. 一键部署LNMP堆栈Web应用基础架构

    https://market.azure.cn/Vhd/Show?vhdId=9852&version=10884 产品详情 产品介绍LEMP/LNMP 是指一组通常一起使用来运行动态网站或者 ...

  7. 实现memcopy函数

    实现memcopy函数: void * memcpy(void *dest, const void *src, unsigned int count); { if ((src == NULL) || ...

  8. window对象的几个重要方法

    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Java ...

  9. Bot Framework:Activity类简明指南

    Bot Framework相关文档:https://docs.botframework.com/en-us/csharp/builder/sdkreference/attachments.html B ...

  10. python爬虫之路——初识基本页面构造原理

    通过chrome浏览器的使用简单介绍网页构成 360浏览器使用右键审查元素,Chrome浏览器使用右键检查,都可查看网页代码. 网页代码有两部分:HTML文件和CSS样式.其中有<script& ...