B - Network - uva 315(求割点)
#include<stdio.h>
#include<string.h>
#include<stack>
#include<algorithm>
using namespace std; const int MAXN = ; struct Edge{int v, next;}e[MAXN*MAXN];
int Head[MAXN], cnt;
void AddEgde(int u, int v)
{
e[cnt].v = v;
e[cnt].next = Head[u];
Head[u] = cnt++;
} int f[MAXN], nRootSons;///记录父亲节点,和根节点的子树个数
int blsCutVetext[MAXN];///是否属于割点
int Low[MAXN], Dfn[MAXN], Index;///low保存深搜最早能够到达的点 void InIt(int N)///初始化
{
cnt = nRootSons = Index = ;
for(int i=; i<=N; i++)
{
Head[i] = -;
blsCutVetext[i] = false;
Dfn[i] = false;
}
}
void Tarjan(int u, int father)
{
f[u] = father;
Low[u] = Dfn[u] = ++Index; for(int j=Head[u]; j!=-; j=e[j].next)
{
int v = e[j].v;
if( !Dfn[v] )
{
Tarjan(v, u);
Low[u] = min(Low[u], Low[v]);
}
else if( v != father)
Low[u] = min(Low[u], Dfn[v]);
}
} int main()
{
int N; while(scanf("%d", &N), N)
{
int i, u, v; char End; InIt(N); while(scanf("%d", &u), u)
{
while()
{
scanf("%d%c", &v, &End);
AddEgde(u, v);
AddEgde(v, u); if(End == '\n')
break;
}
} Tarjan(, ); for(i=; i<=N; i++)
{
u = f[i];
if(u == )
nRootSons++;
else if( Dfn[u] <= Low[i] )
blsCutVetext[u] = true;
} if(nRootSons > )
blsCutVetext[] = true; int ans = ; for(i=; i<=N; i++)
{
if(blsCutVetext[i] == true)
ans++;
} printf("%d\n", ans);
} return ; }
B - Network - uva 315(求割点)的更多相关文章
- UVA 315 求割点 模板 Tarjan
D - D Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Pract ...
- uva 315 Network(无向图求割点)
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- UVA - 315 Network(tarjan求割点的个数)
题目链接:https://vjudge.net/contest/67418#problem/B 题意:给一个无向连通图,求出割点的数量.首先输入一个N(多实例,0结束),下面有不超过N行的数,每行的第 ...
- UVA 315 求连通图里的割点
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20837 哎 大白书里求割点的模板不好用啊,许多细节理解起来也好烦..还好找了 ...
- POJ 1144 Network(Tarjan求割点)
Network Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12707 Accepted: 5835 Descript ...
- [UVA315]Network(tarjan, 求割点)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- POJ 1144 Network(tarjan 求割点个数)
Network Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 17016 Accepted: 7635 Descript ...
- poj1144 Network【tarjan求割点】
转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4319585.html ---by 墨染之樱花 [题目链接]http://poj.org/p ...
- POJ 1144 Network(无向图连通分量求割点)
题目地址:id=1144">POJ 1144 求割点.推断一个点是否是割点有两种推断情况: 假设u为割点,当且仅当满足以下的1条 1.假设u为树根,那么u必须有多于1棵子树 2.假设u ...
- kuangbin专题 专题九 连通图 Network UVA - 315
题目链接:https://vjudge.net/problem/UVA-315 题目:求割点. #include <iostream> #include <cstdio> #i ...
随机推荐
- 使用一个小图片tile平铺到ImageView中或Activity背景
方法两种: 首先必须在res/drawable目录下包含一个background.jpg 方法1:在res/drawable中创建一个xml文件(background_repeat.xml) 内容为 ...
- 大数据笔记06:大数据之Hadoop的HDFS(文件的读写操作)
1. 首先我们看一看文件读取: (1)客户端(java程序.命令行等等)向NameNode发送文件读取请求,请求中包含文件名和文件路径,让NameNode查询元数据. (2)接着,NameNode返回 ...
- 10-利用com组件读取office
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- Sqlserver数据库日志太大如何快速删除
sqlserver使用在windows系统中,如果文件超上百GB了,我们还直接删除不了,这个问题我以前的apache日志就碰到过,至今还没删除呢,那么Sqlserver数据库日志太大如何快速删除呢,有 ...
- Struts2 UI标签
表单标签的共同属性(该属性只在没有使用 simple 主题时才可以使用) form 标签 用来呈现 HTML 语言中的表单元素 默认情况下, form 标签将被呈现为一个表格形式的 HTML 表单. ...
- [转]简述volatile
volatile int i=10; int j = i; ... int k = i; volatile 告诉编译器i是随时可能发生变化的,每次使用它的时候必须从i的地址中读取,因而编译器生成的可执 ...
- java rmi 使用方法
server package Server; import java.rmi.Naming; import java.rmi.RMISecurityManager; import java.rmi.r ...
- Linux 从 sar 到 sar2html 的认识
这些变形的工具.诸如:淘宝的Tsar.ksar.sar2html....等.都是通过抓取 sar的数据 所以在最终呈现的数据上变化不大.只是展现的手段和效果不一样而已 sar 是帮助我们 ...
- python 安装中的错误解决
最近使用python3.5,其中遇到安装中的错误,现在记录下来,提个醒 1 安装setuptools 出现缺少 zlib模块 解决: 1 yum install zlib 2 yum install ...
- JS判断字符串是否为空、过滤空格、查找字符串位置等函数集
这是一个由网上收集的JS代码段,用于判断指定字符串是否为空,过滤字符串中某字符两边的空格.查找指定字符串开始的位置.使用IsFloat函数判断一 个字符串是否由数字(int or long or fl ...