给你一些双向边 求有多少个割点 并输出去掉点这个点 去掉后有几个联通分量

Tarjan

 #include<stdio.h>
#include<algorithm>
#include<string.h>
#include<queue>
#include<math.h> using namespace std; #define MAXN 1000
int head[MAXN+],dfn[MAXN+],low[MAXN+],z[MAXN+];
int cnt,num; struct edg
{
int to,next; }x[]; void add(int u,int v)
{
x[cnt].next=head[u];
x[cnt].to=v;
head[u]=cnt++;
}
void dfs(int u,int k)
{
int i;
dfn[u]=low[u]=k;
for(i=head[u];i!=-;i=x[i].next)
{
if(!dfn[x[i].to]) //没访问过 x[i].to孩子节点
{
dfs(x[i].to,k+);
low[u]=min(low[u],low[x[i].to]);
if(low[x[i].to]>=dfn[u]) //不能跳过这个点 去掉后 必然多一个
z[u]++;
}
else
low[u]=min(low[u],dfn[x[i].to]); //访问过 x[i].to 是父亲节点
}
}
int main()
{
int n,m,ca,m1;
ca=; while(scanf("%d",&n)!=EOF&&n)
{
m1=;
memset(head,-,sizeof(head));
memset(z,,sizeof(z));
memset(dfn,,sizeof(dfn));
memset(low,,sizeof(low));
scanf("%d",&m);
m1=max(n,m);
add(n,m),add(m,n); int a,b;
while(scanf("%d",&a)!=EOF&&a)
{
scanf("%d",&b);
m1=max(m1,a);
m1=max(m1,b);
add(a,b),add(b,a);
}
dfs(,); /考虑 1 是根 数组搞出来要减1
z[]--;
if(ca!=)
printf("\n");
printf("Network #%d\n",ca++);
int ok=; for(int i=;i<=m1;i++)
{
if(z[i]>)
{
printf(" SPF node %d leaves %d subnets\n",i,z[i]+); 去掉该点以下的联通分量 上面还有一半
ok=;
}
}
if(ok==)
printf(" No SPF nodes\n");
} return ;
}
/*
Network #1
SPF node 3 leaves 2 subnets
*/

最新文章

  1. mysql5.x升级至mysql5.7后导入之前数据库date出错的解决方法!
  2. ajax跨域往php程序post数据时,php程序总是执行两次的解决方法
  3. 【jQuery EasyUI系列】创建CRUD数据网格
  4. JavaIO中的Reader和writer
  5. Oracle插入时间
  6. 在centos6.3用yum安装redis
  7. 针对ASP.NET页面实时进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
  8. 转: 58同城高性能移动Push推送平台架构演进之路
  9. python(一)入门
  10. [PWA] 16. Clean IDB
  11. poj3620
  12. [XMPP]iOS聊天软件学习笔记[三]
  13. 为TL-WR720N编译带mentohust和njit-client的openwrt固件
  14. 系列五AnkhSvn
  15. JS---控制键盘事件
  16. 用户体验 | 寻找成套的 App SDK 服务
  17. LOJ #116 有源汇点有上下界的最大流
  18. 【Linux】Rsync的剖析与使用
  19. mac 配置 ssh 到git (Could not resolve hostname github.com, Failed to connect to github.com port 443 Operation timed out)
  20. vue的搭建项目

热门文章

  1. CF722D. Generating Sets[贪心 STL]
  2. Windows 常用 CMD 命令行介绍
  3. vs2015产品密钥
  4. CSS中单位px和em,rem的区别
  5. DataConvertJson
  6. Nginx+keepalived双机热备(主主模式)
  7. VMWare发布ESXi 6.0
  8. Java核心技术点之反射
  9. md5的C++实现
  10. struts2使用Convention Plugin在weblogic上以war包部署时,找不到Action的解决办法