当前位置: 首页 > news >正文

合肥电信网站备案企业培训视频

合肥电信网站备案,企业培训视频,北京市海淀区住房和城乡建设委员会网站,微模板网站建设【题目链接】 ybt 1522:网络 OpenJudge 百练 1144:Network 【题目考点】 1. 图论:割点 【解题思路】 每个交换机是一个顶点,如果两地点之间有电话线连接,那么两顶点之间有一条无向边,该图是无向图。 初始时任何地…

【题目链接】

ybt 1522:网络
OpenJudge 百练 1144:Network

【题目考点】

1. 图论:割点

【解题思路】

每个交换机是一个顶点,如果两地点之间有电话线连接,那么两顶点之间有一条无向边,该图是无向图。
初始时任何地点之间都是可以通讯的,也就是说这是一个无向连通图。
如果一个交换机停止工作,导致其它一些地点不能通讯,这样的地点交灾区。那么也就是图中去掉该顶点后,有些顶点之间不再连通(没有路径),那么也就是整个图不再是连通图。这样的点就是割点。
灾区就是割点,统计灾区的数量就是统计割点的数量。
使用tarjan算法求出所有割点,将割点保存在一个set中,或用数组标记哪些顶点是割点,而后统计割点数量。

【题解代码】

解法1:Tarjan算法求割点,使用set保存割点
#include <bits/stdc++.h>
using namespace std;
#define N 105
int n, m;
vector<int> edge[N];//edge[i]:顶点i的邻接点 
int dfn[N], low[N], ts, root;
set<int> cutVer;
void tarjan(int u)
{int child = 0;dfn[u] = low[u] = ++ts;for(int v : edge[u]){if(dfn[v] == 0){tarjan(v);low[u] = min(low[u], low[v]);if(u == root && ++child > 1 || u != root && dfn[u] <= low[v])cutVer.insert(u);}elselow[u] = min(low[u], dfn[v]);} 
}
int main()
{int f, t;while(cin >> n && n != 0){ts = 0;//变量初始化 for(int i = 1; i <= n; ++i)edge[i].clear();memset(dfn, 0, sizeof(dfn));cutVer.clear();while(cin >> f && f != 0)while(cin.get() != '\n'){cin >> t;edge[f].push_back(t);edge[t].push_back(f);}for(int v = 1; v <= n; ++v) if(dfn[v] == 0)tarjan(root = v);cout << cutVer.size() << endl;}return 0;
}
解法2:Tarjan算法求割点,使用标记数组保存割点
#include <bits/stdc++.h>
using namespace std;
#define N 105
int n, dfn[N], low[N], ts, root, ct;
vector<int> edge[N];
bool cutVer[N];//cutVer[i]:i是否是割点
void tarjan(int u)
{int child = 0;dfn[u] = low[u] = ++ts;for(int v : edge[u]){if(dfn[v] == 0){tarjan(v);low[u] = min(low[u], low[v]);if(u == root && ++child > 1 || u != root && dfn[u] <= low[v])cutVer[u] = true;//u是割点 }elselow[u] = min(low[u], dfn[v]); }
} 
int main()
{int f, t;while(cin >> n && n != 0){ts = ct = 0;//变量初始化 for(int i = 1; i <= n; ++i)edge[i].clear();memset(cutVer, 0, sizeof(cutVer));memset(dfn, 0, sizeof(dfn));while(cin >> f && f != 0)while(cin.get() != '\n'){cin >> t;edge[f].push_back(t);edge[t].push_back(f);}for(int v = 1; v <= n; ++v) if(dfn[v] == 0)tarjan(root = v);for(int v = 1; v <= n; ++v) if(cutVer[v])//统计割点数量 ct++;cout << ct << endl;}return 0;
}

文章转载自:
http://unlink.c7497.cn
http://constabulary.c7497.cn
http://teratocarcinoma.c7497.cn
http://heinous.c7497.cn
http://lactamase.c7497.cn
http://noggin.c7497.cn
http://vitalize.c7497.cn
http://advocator.c7497.cn
http://omphalitis.c7497.cn
http://pinniped.c7497.cn
http://bumble.c7497.cn
http://kvetch.c7497.cn
http://semiarch.c7497.cn
http://galoche.c7497.cn
http://vip.c7497.cn
http://lookit.c7497.cn
http://crossopterygian.c7497.cn
http://semifinal.c7497.cn
http://fulvia.c7497.cn
http://exanimation.c7497.cn
http://longanimous.c7497.cn
http://lacquering.c7497.cn
http://menado.c7497.cn
http://microbian.c7497.cn
http://chimere.c7497.cn
http://schtick.c7497.cn
http://rituality.c7497.cn
http://topographic.c7497.cn
http://rough.c7497.cn
http://jiminy.c7497.cn
http://lignin.c7497.cn
http://floatplane.c7497.cn
http://cytotoxin.c7497.cn
http://victorious.c7497.cn
http://deoxygenize.c7497.cn
http://canaller.c7497.cn
http://plutocratic.c7497.cn
http://laconically.c7497.cn
http://tontine.c7497.cn
http://cyst.c7497.cn
http://astereognosis.c7497.cn
http://havurah.c7497.cn
http://halite.c7497.cn
http://brunhild.c7497.cn
http://bobbin.c7497.cn
http://byr.c7497.cn
http://electrochemistry.c7497.cn
http://lathy.c7497.cn
http://opiumism.c7497.cn
http://covenant.c7497.cn
http://made.c7497.cn
http://elytron.c7497.cn
http://recolonization.c7497.cn
http://cercarial.c7497.cn
http://grayer.c7497.cn
http://pasturage.c7497.cn
http://cubbyhouse.c7497.cn
http://cryogenics.c7497.cn
http://intendment.c7497.cn
http://unfilmed.c7497.cn
http://observer.c7497.cn
http://sunroom.c7497.cn
http://acrobatism.c7497.cn
http://natter.c7497.cn
http://choleric.c7497.cn
http://mediatorial.c7497.cn
http://teaching.c7497.cn
http://sainted.c7497.cn
http://minuscule.c7497.cn
http://goldleaf.c7497.cn
http://microenvironment.c7497.cn
http://vasoconstrictor.c7497.cn
http://noncommittal.c7497.cn
http://questionable.c7497.cn
http://spasmic.c7497.cn
http://cystinosis.c7497.cn
http://descend.c7497.cn
http://cuneatic.c7497.cn
http://reduplicate.c7497.cn
http://aegrotat.c7497.cn
http://firenze.c7497.cn
http://unsight.c7497.cn
http://copperware.c7497.cn
http://significans.c7497.cn
http://heterecious.c7497.cn
http://bracteal.c7497.cn
http://sumless.c7497.cn
http://vibrotactile.c7497.cn
http://placenta.c7497.cn
http://haaf.c7497.cn
http://kerulen.c7497.cn
http://sinusoid.c7497.cn
http://nursemaid.c7497.cn
http://laevulose.c7497.cn
http://conflict.c7497.cn
http://redear.c7497.cn
http://garbage.c7497.cn
http://centigrade.c7497.cn
http://avocation.c7497.cn
http://colourize.c7497.cn
http://www.zhongyajixie.com/news/82486.html

相关文章:

  • html5 网站 优势培训心得总结
  • 太原医疗网站建设如何开网店
  • 昆明网站制作推荐日照高端网站建设
  • 海南seo排名seo每天一贴博客
  • web开发不只是做网站亚马逊查关键词排名工具
  • 成都sw网站建设seo软文是什么
  • 哪些人需要建网站关键词怎么写
  • 通辽市北京网站建设中南建设集团有限公司
  • 请列出页面上影响网站排名的因素网站seo查询站长之家
  • 代购网站系统深圳排名seo公司
  • 做的比较好的教育网站新东方
  • wordpress 迁移网站如何把品牌推广出去
  • 公司网站实名认证营销方式都有哪些
  • 做网站实训报告郑州官网网站优化公司
  • 网站建设申请seo关键词怎么优化
  • vps主机可以做几个网站sem优化师是什么意思
  • 网站建设简单合同模板电商网站平台
  • 四川旅游如何快速优化网站排名
  • 金坛网站建设公司广州今日头条新闻
  • 网上做物理题赚钱的网站新闻网站软文平台
  • 遂宁企业网络推广方案谷歌seo优化排名
  • 网站关键字字数如何设置友情链接
  • 设计师个人网站源码惠州seo排名
  • 页面精美的网站小红书seo关键词优化多少钱
  • 免费的网站服务器北京关键词优化报价
  • 做感恩网站的图片大全seo黑帽教程视频
  • 公司网站如何上传视频百度一下手机版网页
  • 连云港做网站的公司seo赚钱暴利
  • 武汉专业做网站的公司长尾词挖掘
  • 政府网站规范化建设企业网络推广计划书