题目描述:
TLC电话线路公司正在新建一个电话线路网络。他们将一些地方(这些地方用1到N的整数
标明,任何2个地方的标号都不相同)用电话线路连接起来。这些线路是双向的,每条线路连接
2个地方,并且每个地方的电话线路都是连接到一个电话交换机。每个地方都有一个电话交换机。
从每个地方都可以达到其他一些地方(如果有线路连接的话),然而这些线路不一定必须是直接连
接的,也可以是通过几个电话交换机到达另外一个地方。但是有时会因为电力不足导致某个地方
的交换机不能工作。TLC的官员意识到一旦出现这种情况(在某个地方的交换机不工作,即这个
结点与其他结点之间的线路都断开了),除了这个出现故障的地方是不可达外,还可能导致其他一
些(本来连通的)地方也不再连通。称这个地方为关节点。
现在TLC的官员努力想写一个程序来找到关节点的数目。请帮助他们。 // 求连通图 割点的个数 继续tarjan了 #include <iostream>
#include <algorithm>
#include <queue>
#include <math.h>
#include <stdio.h>
#include <string.h>
using namespace std;
#define MOD 1000000007
#define maxn 110
bool G[maxn][maxn];
int low[maxn],pre[maxn];
bool ans[maxn];
int dfst;
int node;
int child;
void init(){
dfst=;
child=;
memset(G,,sizeof(G));
memset(ans,,sizeof(ans));
memset(pre,,sizeof(pre));
}
int dfs(int u){
int lowu;
lowu=pre[u]=++dfst;
int v;
for(v=;v<=node;v++){
if(G[u][v]){
if(!pre[v]){
int lowv=dfs(v);
lowu=min(lowu,lowv);
if(lowv>=pre[u]){
if(u!=) ans[u]=true;
else child++;
}
}
else lowu=min(lowu,pre[v]);
}
}
return lowu;
}
void deal(char *str,int u){
int t=,v;
int i;
for(i=;str[i]!='\0';i++){
if(str[i]>=''&&str[i]<='')
{
t=t*+str[i]-'';
}
else
{
if(t){
v=t;
G[u][v]=G[v][u]=true;
}
t=;
}
}
if(t){
v=t; v=t;
G[u][v]=G[v][u]=true;
}
}
int main()
{
int u;
char str[];
while(scanf("%d",&node),node){
init();
while(scanf("%d",&u),u){
gets(str);
deal(str,u);
}
//for()
dfs();
int found=;
if(child>) ans[]=true;
for(int i=;i<=node;i++)
if(ans[i])
found++;
printf("%d\n",found);
}
return ;
}

ZOJ1311, POJ1144 Network的更多相关文章

  1. POJ1144 Network(割点)题解

    Description A Telephone Line Company (TLC) is establishing a new telephone cable network. They are c ...

  2. POJ1144 Network 无向图的割顶

    现在打算重新学习图论的一些基础算法,包括像桥,割顶,双连通分量,强连通分量这些基础算法我都打算重敲一次,因为这些量都是可以用tarjan的算法求得的,这次的割顶算是对tarjan的那一类算法的理解的再 ...

  3. poj1144 Network【tarjan求割点】

    转载请注明出处,谢谢:http://www.cnblogs.com/KirisameMarisa/p/4319585.html   ---by 墨染之樱花 [题目链接]http://poj.org/p ...

  4. [POJ1144]Network

    来源:Central Europe 1996 思路:Tarjan求割点. 一个点$x$为割点当且仅当: 1.$x$为根结点且有两棵不相交的子树. 2.$x$不为根结点且它的子树中没有可以返回到$x$的 ...

  5. POJ1144:Network(无向连通图求割点)

    题目:http://poj.org/problem?id=1144 求割点.判断一个点是否是割点有两种判断情况: 如果u为割点,当且仅当满足下面的1条 1.如果u为树根,那么u必须有多于1棵子树 2. ...

  6. [poj1144]Network(求割点模板)

    解题关键:割点模板题. #include<cstdio> #include<cstring> #include<vector> #include<stack& ...

  7. POJ1144 Network 无向图割点

    题目大意:求以无向图割点. 定义:在一个连通图中,如果把点v去掉,该连通图便分成了几个部分,则v是该连通图的割点. 求法:如果v是割点,如果u不是根节点,则u后接的边中存在割边(u,v),或者v-&g ...

  8. POJ1144 Network 题解 点双连通分量(求割点数量)

    题目链接:http://poj.org/problem?id=1144 题目大意:给以一个无向图,求割点数量. 这道题目的输入和我们一般见到的不太一样. 它首先输入 \(N\)(\(\lt 100\) ...

  9. 【poj1144】 Network

    http://poj.org/problem?id=1144 (题目链接) 题意 求无向图的割点. Solution Tarjan求割点裸题.并不知道这道题的输入是什么意思,也不知道有什么意义= =, ...

随机推荐

  1. javascript积累

    本来是java程序员,但是工作过程中总是遇到各种js的任务得完成,所以也得慢慢积累啊! 一.浏览器对象模型(Browser Object Model)BOM     window对象:当前浏览器窗口 ...

  2. 【技术贴】解决MySql连接不上 ip远程连接Host is not allowed to conn

    落雨 如果你想连接远程IP的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL ...

  3. unity3d android互调

    unityPlayer = new AndroidJavaClass("com.xxx.xxx.MainActivity"); curActivity = unityPlayer. ...

  4. Memcache安全配置

    Memcache安全配置 瞌睡龙 · 2014/01/20 17:59 0x00 Memcache简介 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash ...

  5. fedora下缺少autopoint包的解决办法

    编译过程中,报错,缺少autopoint包 然而无论是yum install autopoint 还是yum search autopoint都没有理想的答案 执行yum install gettex ...

  6. POJ 1258 Agri-Net(最小生成树,基础)

    题目 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<math ...

  7. 【hadoop2.6.0】用C++ 编写mapreduce

    hadoop通过hadoop streaming 来实现用非Java语言写的mapreduce代码. 对于一个一点Java都不会的我来说,这真是个天大的好消息. 官网上hadoop streaming ...

  8. POJ 3411 Paid Roads(SPFA || DFS)

    题目链接 题意 : 要从1城市到n城市,求最短路是多少,从a城市到达b城市的路程,如果你到过c城市,则需要走p,否则走r长. 思路 : 因为可以来回走,所以不能用单纯的最短路,可以用二维SPFA,状态 ...

  9. POJ1426Find The Multiple

    http://poj.org/problem?id=1426 题意 : 输入一个数n,找n的倍数m,这个m所满足的条件是,每一位数只能由0或1组成,在题目的旁边用红色的注明了Special Judge ...

  10. Hibernate逍遥游记-第13章 映射实体关联关系-003单向多对多

    0. 1. drop database if exists SAMPLEDB; create database SAMPLEDB; use SAMPLEDB; create table MONKEYS ...