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 ...
随机推荐
- 《UNIX网络编程》之select IO
select 函数的原理 select 管理者 用select来管理多个IO 一旦其中的一个或者多个IO检测到我们所感兴趣的事件, select 函数返回,返回值为检测到的事件个数 然后,遍历事件,进 ...
- 0x05: post 守护进程(deamon) json 任务调度
python 签名 post #coding:utf-8 import urllib,urllib2 url='http://wtf.thinkphp.com/index.php?m=&c=t ...
- mvc和webapi同一解决方案调试办法
今天在研究WebApi的时候,用mvc端直接请求webapi接口,发现怎么也请求不了,自己搞了半天,猜测可能是webapi没有完全启动吧,解决办法是将解决方案属性改为多启动项目,具体方法如下: 直接运 ...
- Android开发手记(9) DatePickerDialog 和 TimePickerDialog
1.DatePickerDialog 用于获取用户输入的日期信息.其原型为: public DatePickerDialog(Contex contex, DatePickerDialog.OnDa ...
- RecycleView 滑动到底部,加载更多
android.support.v7 包提供了一个新的组件:RecycleView,用以提供一个灵活的列表试图.显示大型数据集,它支持局部刷新.显示动画等功能,可以用来取代ListView与GridV ...
- Hadoop错误
1.50030页面起不来 $bin/hadoop jobtracker 出现:…… SHUTDOWN_MSG: Shutting down JobTracker at node0/ 解决办法:按提示信 ...
- DELL R410升级网卡驱动
官方链接http://zh-cn.broadcom.com/support/ethernet_nic/netxtremeii.php(官方驱动的名字偶尔会改) 注意确保服务器的kernel-dev ...
- Cacti安装教程
CentOS 6.0架设流量监控及集中日志系统 第一章.cacti的安装 1. 系统的基本设置2. 设置主机名3. [root@localhost ~]# vi /etc/sysconfig/netw ...
- 单点登录CAS使用记(六):单点登出、单点注销
单点登出基本上没有啥配置 直接在原来logout的时候,重定向到Cas-Server的logout方法 @RequestSecurity @RequestMapping(value = "l ...
- 武汉科技大学ACM :1010: 零起点学算法12——求2个日期之间的天数
Problem Description 水题 Input 输入2个日期,日期按照年月日,年月日之间用符号-隔开(题目包含多组数据) Output 求出这2个日期之间的天数(不包括自身),每组测试数据一 ...