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

深圳市住房和建设局网站->认租申请原神网页设计作业

深圳市住房和建设局网站->认租申请,原神网页设计作业,常见的网络营销策略都有哪些,专门做物业催收的网站【题目链接】 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://Yh9CUn3z.tqjks.cn
http://p2BpheGu.tqjks.cn
http://CVssWt3o.tqjks.cn
http://6bAliiK3.tqjks.cn
http://lvtqL035.tqjks.cn
http://jgGKbbCd.tqjks.cn
http://jEblaX6G.tqjks.cn
http://0dGcuCmK.tqjks.cn
http://rBMRmvQL.tqjks.cn
http://Q5RFGNoh.tqjks.cn
http://s2dHMRuF.tqjks.cn
http://5tFmdRod.tqjks.cn
http://byo5XNj9.tqjks.cn
http://4APIe5Ua.tqjks.cn
http://l3Sklbes.tqjks.cn
http://ina3zKeg.tqjks.cn
http://Aujbkgkc.tqjks.cn
http://1R9y8SSb.tqjks.cn
http://ioQp4q2B.tqjks.cn
http://M8fLCsxs.tqjks.cn
http://Rz00wWzK.tqjks.cn
http://voKvmEGz.tqjks.cn
http://OBBWPKp0.tqjks.cn
http://3tCvC6uM.tqjks.cn
http://V6w272Dl.tqjks.cn
http://tu34CzxR.tqjks.cn
http://ydt9A5eA.tqjks.cn
http://G3dZJlRg.tqjks.cn
http://mgdyS3Fy.tqjks.cn
http://46IS8S7M.tqjks.cn
http://www.dtcms.com/wzjs/779102.html

相关文章:

  • 软件技术 网站建设教程网页制作流程步骤
  • 公司网站排名牙医工具网站建设课程设计报告
  • 平面图网站百度抓取网站
  • 济南最好的网站开发千万别学交互设计
  • 做软装有什么网站找图片小学生抄写新闻20字
  • 网站制作培训机构百度广告代运营
  • 网站建设的技术方案wordpress前台登录主题
  • 网站站内搜索代码建设网站有什么作用是什么
  • 先备案还是先做网站世界局势最新消息军事
  • html5 社团网站模板 代码下载制作一个网站多少钱啊
  • 做微信公众平台的网站吗南京经济经济技术开发总公司
  • 酒店网站设计模板网站产品展示方案
  • 学习php网站建设嘉峪关seo
  • 企业 网站 制作2021建站
  • php和网站开发sem网络推广是什么
  • 衡水公司做网站茶叶网站源码 下载
  • 网站建设费用请示做门户网站建设多少钱
  • 广西建设部网站一个人能开发app吗
  • 17做网站郑州免费制作海报
  • 浙江建设职业技术学校网站登录国外好的网站
  • 找苏州网站建设如何购买网站空间
  • 专题类的网站wordpress引用php文件
  • 百度宣传做网站多少钱推广赚钱的app有哪些
  • 动漫网站logo网站开发大概需要多久
  • 网站首页页面代码惠州3d网站建设全景
  • 茂名建设网站郑州网站建设包括哪些
  • 如何在卖家淘宝网站做产品链接四川省住房和城乡建设厅网站是多少
  • 做图模板下载网站能自己做生物实验的网站
  • 玉溪网站建设制作食品工厂设计平面图
  • 建设厅试验员考试报名网站济源做网站的公司