POJ 1144 Network (求割点)
题意:
给定一幅无向图, 求出图的割点。
割点模板:http://www.cnblogs.com/Jadon97/p/8328750.html
分析:
输入有点麻烦, 用stringsteam 会比较简单
#include<cstdio> #include<iostream> #include<queue> #include<cstring> #include<string> #include<sstream> #include<map> #include<stack> #include<vector> #include<algorithm> #include<cmath> #define rep(i,a,b) for(int i = a; i < b; i++) #define _rep(i,a,b) for(int i = a; i <= b; i++) using namespace std; const int maxn = 107; vector<int> G[maxn]; int n, Index, root, ans; int dfn[maxn], low[maxn], cut[maxn]; void tarjan(int u, int father){dfn[u] = Index;low[u] = dfn[u];Index++;int child = 0;for(int i = 0; i < G[u].size(); i++){int v = G[u][i];if(!dfn[v]){child++;tarjan(v, u);low[u] = min(low[v], low[u]);if(low[v] >= dfn[u] && u != root) cut[u] = 1;if(u == root && child == 2) cut[u] = 1;}else if(v != father){low[u] = min(low[u], dfn[v]);}} } int main(){ios::sync_with_stdio(false);while(cin >> n && n){Index = 1;memset(dfn, 0, sizeof(dfn));memset(low, 0, sizeof(low));memset(cut, 0, sizeof(cut));_rep(i,1,n) G[i].clear();root = 1, ans = 0;string input;while(getline(cin, input)){if(input[0] == '0') break;stringstream ss(input);int u, v;ss >> u;while(ss >> v){G[u].push_back(v);G[v].push_back(u);}}tarjan(1,1);_rep(i,1,n) if(cut[i]) ans++;cout << ans << "\n";}return 0; }
转载于:https://www.cnblogs.com/Jadon97/p/8360184.html
POJ 1144 Network (求割点)相关推荐
- POJ 1144 Network(无向图连通分量求割点)
题目地址:POJ 1144 求割点.推断一个点是否是割点有两种推断情况: 假设u为割点,当且仅当满足以下的1条 1.假设u为树根,那么u必须有多于1棵子树 2.假设u不为树根.那么(u,v)为树枝边. ...
- POJ 1144 Network 图论
题目地址:http://poj.org/problem?id=1144 题目大意:多组数据,每组数据以0结束,文件也以0结束.对于每组数据第一行n表示点数,接下来至多n行,每行至多n个数,第i个数表示 ...
- POJ 1144 Network
无向图求割点,开始看题后不知道求什么,看了discussi才知道是求割点,然后就在网上找了找关于割点的知识.然后在http://blog.csdn.net/xinghongduo/article/de ...
- uva 315 (poj 1144 求割点)
题意:给你一张无向图,求割点的个数. 思路:输入稍微处理一下接着直接套模版. 1 #include <iostream> 2 #include <cstdio> 3 #incl ...
- POJ1144:Network(无向连通图求割点)
题目:http://poj.org/problem?id=1144 求割点.判断一个点是否是割点有两种判断情况: 如果u为割点,当且仅当满足下面的1条 1.如果u为树根,那么u必须有多于1棵子树 2. ...
- [UVA315]Network(tarjan, 求割点)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
- POJ1523:SPF(无向连通图求割点)
题目:http://poj.org/problem?id=1523 题目解析: 注意题目输入输入,防止PE,题目就是求割点,并问割点将这个连通图分成了几个子图,算是模版题吧. #include < ...
- 【割边缩点】解题报告:POJ - 3694 - Network(Tarjan割边缩点 + LCA + 并查集优化)
POJ - 3694 - Network 给定一张N个点M条边的无向连通图,然后执行Q次操作,每次向图中添加一条边,并且询问当前无向图中"桥"的数量.N≤105,M≤2∗105,Q ...
- TZOJ 2999 Network(连通图割点数量)
描述 A Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting ...
最新文章
- uboot---linux
- 使用 acme.sh 获取网站证书并配置https访问
- vue点击按钮上传图片_关于javascript:Vue-点击按钮提交表单
- mac os 设置汇总
- 学长们的求职血泪史(C/C++/JAVA)
- c语言标识符附录,附录AC语言运算符表.PDF
- HTML 4.0 语 法 教 学
- ORACLE恢复数据
- stm32F407 调试 LAN8720A ping不通问题解决
- 使用 leopard硬盘安装助手 创建OS X 系统安装盘
- genymotion配置android模拟器
- 八:Webpack的加载器
- JAVA中apply方法的原理_关于学习java函数式接口Function中的apply方法的一些感悟
- 计算机顶级会议Rankings 英文投稿的一点经验
- DSP Bootloader说明
- 带你走进3D建模!一份建模零基础小白的入门宝典,建议收藏细读
- 迪米特法则 php,迪米特法则(The Law of Demeter) -解道Jdon
- 金融风控之贷款违约预测
- 商业世界里的“谈判”到底是什么
- 对象到底是怎么new出来的
热门文章
- python学习--服务期间通讯和mysql数据库操作
- 【cocos2d-x 手游研发小技巧(3)Android界面分辨率适配方案】
- Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
- 行波iq调制器_高速InP基半导体电光调制器行波电极结构研究
- 原 EOS智能合约开发入门
- pwa js_如何在互联网信息亭中实现PWA和Barba.js
- c# html文本编辑器,C#实现简单文本编辑器
- nginx和mysql链接_nginx转发mysql连接
- 参加UI培训有发展吗?
- 如何选取合适的前端动效方案?