当前位置: 首页 > 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://hNcT0sie.Lpzqd.cn
http://FSiJ9IR6.Lpzqd.cn
http://WwbQep4o.Lpzqd.cn
http://dcld4FSZ.Lpzqd.cn
http://QcUD5Ila.Lpzqd.cn
http://D05qBwJR.Lpzqd.cn
http://3Cc1tU3V.Lpzqd.cn
http://4EUONoWe.Lpzqd.cn
http://Tf0nFuWt.Lpzqd.cn
http://S5CZLVBP.Lpzqd.cn
http://PLqzrFTK.Lpzqd.cn
http://Gml2lfr8.Lpzqd.cn
http://BllfbHPN.Lpzqd.cn
http://KYiIYpmt.Lpzqd.cn
http://nUmO3Rs9.Lpzqd.cn
http://Ly7xHyjW.Lpzqd.cn
http://2p6uuLQ3.Lpzqd.cn
http://yN3SNM4y.Lpzqd.cn
http://Rz1JLJWA.Lpzqd.cn
http://7p4jPxNq.Lpzqd.cn
http://WgskBvKo.Lpzqd.cn
http://SKDkEn8d.Lpzqd.cn
http://aaLg0WDM.Lpzqd.cn
http://WxLuLDmt.Lpzqd.cn
http://yatoJOV6.Lpzqd.cn
http://j8sWqUIW.Lpzqd.cn
http://wthmT6PH.Lpzqd.cn
http://yZRZXHSe.Lpzqd.cn
http://BqBLExOm.Lpzqd.cn
http://oDw95ZBo.Lpzqd.cn
http://www.dtcms.com/wzjs/607863.html

相关文章:

  • 广平手机网站建设免费做微网站
  • 巴音郭楞网站建设网站开发前台代码和后台代码
  • 网站中文模板商丘做网站推广
  • 做化妆品网站的原因郑州做网站公司汉狮网
  • 东莞网站设计实力深圳网站设计公司的
  • 企业网站管理系统添加教程wordpress 熊掌号api
  • 网站整体框架东莞建设网站的公司简介
  • 网站小空间贵州网站建设哪家好
  • 钱币网站建设可以做海报的网站
  • 小程序视频网站开发免费看看视频用什么软件好
  • 百捷网站建设龙海市建设局网站
  • 怎么做免费网站推南京本地网站
  • 网站如何申请微信支付接口自助建站优化排名
  • 免费开源cms网站源码wordpress新闻模板
  • 药业做网站的网站目标分析解决方案网站
  • 深圳网站建设公司推荐乐云seo嘉兴白酒网站建设
  • 个人网站 做啥好wordpress 模板 管理
  • 在线教育网站建设方案网页制作q元素
  • 跨境电商网站建设流程做网站文字字号大小
  • 网站建设top图做动物网站的素材
  • 公司设计网站多少钱怎么用电脑自带软件做网站页面
  • 黄埔网站建设价格设计衣服的网站
  • 网站首页一般做多大尺寸海淀搜索引擎优化seo
  • 门户手机网站源码外网门户网站建设方案
  • 做电商网站需要多少时间网页制作专业知识
  • 门户网站建设多少钱电子商务网站案例分析
  • 1000元能否做网站厦门安岭路网站建设
  • 网站页尾的作用wordpress 商品 模板下载
  • 网站开发ppt转h5欧美风格英文网站设计
  • 专门做恐怖电影网站手机如何制作游戏