题意:

给定一幅无向图, 求出图的割点。

割点模板: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 (求割点)相关推荐

  1. POJ 1144 Network(无向图连通分量求割点)

    题目地址:POJ 1144 求割点.推断一个点是否是割点有两种推断情况: 假设u为割点,当且仅当满足以下的1条 1.假设u为树根,那么u必须有多于1棵子树 2.假设u不为树根.那么(u,v)为树枝边. ...

  2. POJ 1144 Network 图论

    题目地址:http://poj.org/problem?id=1144 题目大意:多组数据,每组数据以0结束,文件也以0结束.对于每组数据第一行n表示点数,接下来至多n行,每行至多n个数,第i个数表示 ...

  3. POJ 1144 Network

    无向图求割点,开始看题后不知道求什么,看了discussi才知道是求割点,然后就在网上找了找关于割点的知识.然后在http://blog.csdn.net/xinghongduo/article/de ...

  4. uva 315 (poj 1144 求割点)

    题意:给你一张无向图,求割点的个数. 思路:输入稍微处理一下接着直接套模版. 1 #include <iostream> 2 #include <cstdio> 3 #incl ...

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

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

  6. [UVA315]Network(tarjan, 求割点)

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

  7. POJ1523:SPF(无向连通图求割点)

    题目:http://poj.org/problem?id=1523 题目解析: 注意题目输入输入,防止PE,题目就是求割点,并问割点将这个连通图分成了几个子图,算是模版题吧. #include < ...

  8. 【割边缩点】解题报告:POJ - 3694 - Network(Tarjan割边缩点 + LCA + 并查集优化)

    POJ - 3694 - Network 给定一张N个点M条边的无向连通图,然后执行Q次操作,每次向图中添加一条边,并且询问当前无向图中"桥"的数量.N≤105,M≤2∗105,Q ...

  9. TZOJ 2999 Network(连通图割点数量)

    描述 A Telephone Line Company (TLC) is establishing a new telephone cable network. They are connecting ...

最新文章

  1. uboot---linux
  2. 使用 acme.sh 获取网站证书并配置https访问
  3. vue点击按钮上传图片_关于javascript:Vue-点击按钮提交表单
  4. mac os 设置汇总
  5. 学长们的求职血泪史(C/C++/JAVA)
  6. c语言标识符附录,附录AC语言运算符表.PDF
  7. HTML 4.0 语 法 教 学
  8. ORACLE恢复数据
  9. stm32F407 调试 LAN8720A ping不通问题解决
  10. 使用  leopard硬盘安装助手 创建OS X 系统安装盘
  11. genymotion配置android模拟器
  12. 八:Webpack的加载器
  13. JAVA中apply方法的原理_关于学习java函数式接口Function中的apply方法的一些感悟
  14. 计算机顶级会议Rankings 英文投稿的一点经验
  15. DSP Bootloader说明
  16. 带你走进3D建模!一份建模零基础小白的入门宝典,建议收藏细读
  17. 迪米特法则 php,迪米特法则(The Law of Demeter) -解道Jdon
  18. 金融风控之贷款违约预测
  19. 商业世界里的“谈判”到底是什么
  20. 对象到底是怎么new出来的

热门文章

  1. python学习--服务期间通讯和mysql数据库操作
  2. 【cocos2d-x 手游研发小技巧(3)Android界面分辨率适配方案】
  3. Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
  4. 行波iq调制器_高速InP基半导体电光调制器行波电极结构研究
  5. 原 EOS智能合约开发入门
  6. pwa js_如何在互联网信息亭中实现PWA和Barba.js
  7. c# html文本编辑器,C#实现简单文本编辑器
  8. nginx和mysql链接_nginx转发mysql连接
  9. 参加UI培训有发展吗?
  10. 如何选取合适的前端动效方案?