本题大意:求一个无向图额割点的个数.

本题思路:建图之后打一遍模板.

 /*************************************************************************
> File Name: uva-315.network.cpp
> Author: CruelKing
> Mail: 2016586625@qq.com
> Created Time: 2019年09月06日 星期五 17时15分07秒
本题思路:就是求图中有多少个割点
************************************************************************/ #include <cstdio>
#include <iostream>
#include <sstream>
#include <cstring>
#include <string>
using namespace std; const int maxn = + , maxm = maxn * maxn + ;
int tot, head[maxn]; struct Edge {
int to, next;
} edge[maxm]; void init() {
memset(head, -, sizeof head);
tot = ;
} void addedge(int u, int v) {
edge[tot] = (Edge) {v, head[u]}; head[u] = tot ++;
edge[tot] = (Edge) {u, head[v]}; head[v] = tot ++;
} int n;
string str; int dfn[maxn], low[maxn], stack[maxn];
bool cut[maxn], instack[maxn];
int Index, top, cut_num; void tarjan(int u, int pre) {
dfn[u] = low[u] = ++ Index;
instack[u] = true;
stack[top ++] = u;
int son = ;
for(int i = head[u]; ~i; i = edge[i].next) {
int v = edge[i].to;
if(!dfn[v]) {
son ++;
tarjan(v, u);
if(low[u] > low[v]) low[u] = low[v];
if(pre != u && low[v] >= dfn[u]) {
cut[u] = true;
}
} else if(low[u] > dfn[v]) low[u] = dfn[v];
}
if(u == pre && son > ) {
cut[u] = true;
}
instack[u] = false;
top --;
} void solve() {
memset(dfn, , sizeof dfn);
memset(low, , sizeof low);
memset(cut, false, sizeof cut);
Index = top = cut_num = ;
for(int i = ; i <= n; i ++) {
if(!dfn[i]) tarjan(i, i);
}
for(int i = ; i <= n; i ++) if(cut[i]) cut_num ++;
printf("%d\n", cut_num);
} int main() {
int u, v;
while(~scanf("%d", &n) && n) {
init();
while(scanf("%d", &u)) {
if(u == ) break;
getline(cin, str);
stringstream ss;
ss << str;
while(ss >> v) addedge(u, v);
}
solve();
}
return ;
}

uva-315.network(连通图的割点)的更多相关文章

  1. uva 315 Network(无向图求割点)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  2. UVA 315 315 - Network(求割点个数)

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

  3. UVA 315 求连通图里的割点

    http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20837 哎 大白书里求割点的模板不好用啊,许多细节理解起来也好烦..还好找了 ...

  4. UVA - 315 Network(tarjan求割点的个数)

    题目链接:https://vjudge.net/contest/67418#problem/B 题意:给一个无向连通图,求出割点的数量.首先输入一个N(多实例,0结束),下面有不超过N行的数,每行的第 ...

  5. 无向图求割点 UVA 315 Network

    输入数据处理正确其余的就是套强联通的模板了 #include <iostream> #include <cstdlib> #include <cstdio> #in ...

  6. hrbustoj 1494(原题UVA 315 Network) 解题报告 tarjan求割点

    主要思路:使用tarjan选取一个根节点建立一个棵搜索树,判断一个点是割点的充分必要条件是,对于一个节点u如果他的孩子节点v的low值大于等于u的出生日期dfn值,进行下一步判断,如果u是我们选的根节 ...

  7. UVA 315 Network (模板题)(无向图求割点)

    <题目链接> 题目大意: 给出一个无向图,求出其中的割点数量. 解题分析: 无向图求割点模板题. 一个顶点u是割点,当且仅当满足 (1) u为树根,且u有多于一个子树. (2) u不为树根 ...

  8. Uva 315 Network 判断割点

    模板题,注意输出 #include <stdio.h> #include <string.h> #include <algorithm> #include < ...

  9. UVA 315 求割点 模板 Tarjan

    D - D Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Pract ...

随机推荐

  1. 读取xml文件中的配置参数实例_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 paras.xml文件 <?xml version="1.0" encoding=" ...

  2. Idea创建多模块依赖Maven项目

    idea 创建多模块依赖Maven项目   本来网上的教程还算多,但是本着自己有的才是自己的原则,还是自己写一份的好,虽然可能自己也不会真的用得着. 1. 创建一个新maven项目 2. 3. 输入g ...

  3. ASP设置动态表头

    /// <summary> /// 设置动态表头 /// </summary> /// <param name="sender"></pa ...

  4. shiro框架学习-1-shiro基本概念

    1. 什么是权限控制 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自己被授权的资源, ...

  5. org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression:

    org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression:

  6. caffe 安装

    安装caffe 拉取镜像 nvidia/cuda:9.0-cudnn7-devel-centos7 1,换源 安装https://blog.csdn.net/tuomen5867/article/de ...

  7. Java多级文件夹上传

    javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...

  8. sh_06_函数的返回值

    sh_06_函数的返回值 def sum_2_num(num1, num2): """对两个数字的求和""" result = num1 + ...

  9. YOLO_v1

    目标检测算法可以分为两类: 一类是基于region proposal的R-CNN系列算法(R-CNN,Fast R-CNN, Faster R-CNN),它们是two-stage的.要先使用启发式方法 ...

  10. ACCESS数据库注入

    0X01 我们想来了解一下access数据库 Access注入是暴力猜解 Access数据结构(access只有一个数据库) Access数据库 表名 列名 数据 没有库这个概念 只有表这个概念 这应 ...