uva-315.network(连通图的割点)
本题大意:求一个无向图额割点的个数.
本题思路:建图之后打一遍模板.
/*************************************************************************
> 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(连通图的割点)的更多相关文章
- uva 315 Network(无向图求割点)
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- UVA 315 315 - Network(求割点个数)
Network A Telephone Line Company (TLC) is establishing a new telephone cable network. They are con ...
- UVA 315 求连通图里的割点
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20837 哎 大白书里求割点的模板不好用啊,许多细节理解起来也好烦..还好找了 ...
- UVA - 315 Network(tarjan求割点的个数)
题目链接:https://vjudge.net/contest/67418#problem/B 题意:给一个无向连通图,求出割点的数量.首先输入一个N(多实例,0结束),下面有不超过N行的数,每行的第 ...
- 无向图求割点 UVA 315 Network
输入数据处理正确其余的就是套强联通的模板了 #include <iostream> #include <cstdlib> #include <cstdio> #in ...
- hrbustoj 1494(原题UVA 315 Network) 解题报告 tarjan求割点
主要思路:使用tarjan选取一个根节点建立一个棵搜索树,判断一个点是割点的充分必要条件是,对于一个节点u如果他的孩子节点v的low值大于等于u的出生日期dfn值,进行下一步判断,如果u是我们选的根节 ...
- UVA 315 Network (模板题)(无向图求割点)
<题目链接> 题目大意: 给出一个无向图,求出其中的割点数量. 解题分析: 无向图求割点模板题. 一个顶点u是割点,当且仅当满足 (1) u为树根,且u有多于一个子树. (2) u不为树根 ...
- Uva 315 Network 判断割点
模板题,注意输出 #include <stdio.h> #include <string.h> #include <algorithm> #include < ...
- UVA 315 求割点 模板 Tarjan
D - D Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Pract ...
随机推荐
- iOS画线段
CGContextRef context = UIGraphicsGetCurrentContext(); //设置线条类型 CGContextSetLineCap(context, kCGLineC ...
- asp.net mvc 异步控制器
参考:https://blog.csdn.net/niewq/article/details/20490707 https://www.cnblogs.com/visonme/p/5537190.ht ...
- postman—使用newman来执行postman脚本
我们知道postman是基于javascript语言编写的,而导出的json格式的postman脚本也无法直接在服务器运行,它需要在newman中执行(可以把newman看做postman脚本的运行环 ...
- 那些10w+的公众号都在写什么?
出于好奇,那些10w+的公众号都写了些什么,于是我写了几个脚本爬取了各行业Top的公众号文章,进行了关键词统计. 抓取数据.分析用到了3中语言:Node.js,Java,Python.废话不多说,直接 ...
- input框与img在同一行对齐
将input和img放同一行,img标签总是比input高出一个头,难看.后来在网站搜到最多的就是给img添加一个align="absmiddle"属性,这个方法似乎的确可行,但是 ...
- Python模块之-OS模块
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...
- springboot切换配置
1.默认只有一个application.properties文件 1)删除properties文件,换成yml方式.新增dev,prod两个文件 2)配置application.yml文件:actio ...
- c++中的类(构造函数,析构函数的执行顺序)
类对象的初始化顺序 新对象的生成经历初始化阶段(初始化列表显式或者隐式的完成<这部分有点像java里面的初始化块>)——> 构造函数体赋值两个阶段 1,类对象初始化的顺序(对于没有父 ...
- 每日踩坑 2019-07-30 H5 使用 iframe 底部有白边
用个iframe累死累活的 用 js 动态计算高度, 结果明明px都对,然后却把页面滚动条也整出来了. 查看元素盒模型也一切正常. 然后仔细观察就发现是下边多了几个像素的白色边. 然后就 百度呗 以下 ...
- event.currentTarget
https://api.jquery.com/event.currentTarget/ event.currentTargetReturns: Element Description: The cur ...