博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ2117-Electricity
阅读量:5923 次
发布时间:2019-06-19

本文共 1555 字,大约阅读时间需要 5 分钟。

题意: 求出删除一个点之后,连通块最多有多少

思路:数组记录每一个点删除后的连通块有多少个。注意图不一定是连通的。

代码:

#include 
#include
#include
#include
#include
#include
using namespace std;const int MAXN = 10005;struct Edge{ int to, next; bool cut;}edge[MAXN * 10];int head[MAXN], tot;int Low[MAXN], DFN[MAXN], Stack[MAXN];int Index, cnt;bool Instack[MAXN];bool cut[MAXN];int add_block[MAXN];void addedge(int u, int v) { edge[tot].to = v; edge[tot].next = head[u]; edge[tot].cut = false; head[u] = tot++;}void Tarjan(int u, int pre) { int v; Low[u] = DFN[u] = ++Index; int son = 0; for (int i = head[u]; i != -1; i = edge[i].next) { v = edge[i].to; if (v == pre) continue; if (!DFN[v]) { son++; Tarjan(v, u); if (Low[u] > Low[v]) Low[u] = Low[v]; if (u != pre && Low[v] >= DFN[u]) { cut[u] = true; add_block[u]++; } } else if (Low[u] > DFN[v]) Low[u] = DFN[v]; } if (u == pre && son > 1) cut[u] = true; if (u == pre) add_block[u] = son - 1;}void init() { memset(head, -1, sizeof(head)); memset(DFN, 0, sizeof(DFN)); memset(add_block, 0, sizeof(add_block)); memset(cut, false, sizeof(cut)); tot = Index = cnt = 0;}void solve(int N) { for (int i = 1; i <= N; i++) if (!DFN[i]) { Tarjan(i, i); cnt++; } int ans = 0; for (int i = 1; i <= N; i++) ans = max(ans, cnt + add_block[i]); printf("%d\n", ans);}int main() { int n, m; while (scanf("%d%d", &n, &m) == 2) { if (n == 0 && m == 0) break; init(); int u, v; for (int i = 0; i < m; i++) { scanf("%d%d", &u, &v); u++; v++; addedge(u, v); addedge(v, u); } solve(n); } return 0;}

转载地址:http://ikavx.baihongyu.com/

你可能感兴趣的文章
三步骤快速开发 iOS资讯类App
查看>>
最强前端性能优化,Google已经为你准备好了
查看>>
java版spring cloud+spring boot+redis多租户社交电子商务平台(十二)断路器监控(Hystrix Dashboard)...
查看>>
阿里云图片上传
查看>>
父传子
查看>>
前端面试题目汇总摘录(HTML 和 CSS篇)
查看>>
异步执行顺序
查看>>
js判断对象是否为空
查看>>
使用jest测试Koa应用
查看>>
开发适用于微信小程序的跨平台图表库:part1
查看>>
亚马逊苹果在中国不行了,下一个该星巴克了?
查看>>
北京—【望京SOHO】样本通 招前端开发工程师(react)
查看>>
Redisson之几种分布式队列
查看>>
可以提高程序员效率的工具!
查看>>
【Swift】类似于微博、微信的ActionSheet
查看>>
b2b b2c o2o分布式电子商务平台源码 Spring MVC+mybatis+spring cloud
查看>>
人工智能会不会变成终结者,这事儿人工智能自己说了不算
查看>>
看雪-2014 APP应用攻防竞赛第二阶段第1题(攻击篇)解析
查看>>
PHP编码规范(PSR-2)-代码风格规范
查看>>
服务器CPU核数认识
查看>>