Road Construction

【题目描述】

某岛屿上有N个旅游景点,任意两个旅游景点之间能够连通,但道路部门正在对某条道路进行施工,禁止游客通行,为了使所有旅游景点依然能够正常开放,道路部门决定搭建一些临时桥梁,使得无论哪条道路正在进行施工,游客都能够到达所有的旅游景点。

现询问至少搭建多少条临时桥梁,在施工期间,游客也能够到达所有的旅游景点。

【输入描述】

第一行输入两个整数N、M(N、M <= 1000),表示景点数目以及道路数目;

接下来M行,每行输入两个整数A、B,表示景点A、B之间存在一条直连道路。

【输出描述】

输出一个数,表示答案。

【输入样例】

样例1:

10 12

1 2

1 3

1 4

2 5

2 6

5 6

3 7

3 8

7 8

4 9

4 10

9 10

 

样例2:

3 3

1 2

2 3

1 3

【输出样例】

样例1:

2

 

样例2:

0

源代码:#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
vector <int> List[1001];
int n,m,Num(0),Ans(0),i[1001],j[1001],Vis[1001],Sum[1001];
void DFS(int t,int Father) //稍加修改的Tarjan。
{Vis[t]=1;j[t]=i[t]=++Num;for (int a=0;a<List[t].size();a++){int T=List[t][a];if (Vis[T]==1&&T!=Father) //防重复,其实想一想,朴素Tarjan的Instack()其实也如此。i[t]=min(i[t],j[T]);if (!Vis[T]){DFS(T,t);i[t]=min(i[t],i[T]);}}Vis[t]=2; //其实加不加都无所谓,Vis[0]、Vis[1]、Vis[2]分别表示未遍历、遍历过但子节点未访问完、遍历过且子节点已访问完。
}
int main()
{scanf("%d%d",&n,&m);while (m--){int t1,t2;scanf("%d%d",&t1,&t2);List[t1].push_back(t2);List[t2].push_back(t1);}DFS(1,1);for (int a=1;a<=n;a++)for (int b=0;b<List[a].size();b++)if (i[a]!=i[List[a][b]]) //两个相连的节点不在同一个强连通分量中。Sum[i[a]]++; //统计源节点的,也算是出度吧。for (int a=1;a<=n;a++)printf("%d %d\n",i[a],Sum[a]);for (int a=1;a<=n;a++)if (Sum[a]==1) //若强连通分量之间只有一条连边,那么必为桥。Ans++;printf("%d",Ans+1>>1); //因为是无向图,所以重复了一倍。return 0;
}

转载于:https://www.cnblogs.com/Ackermann/p/5982953.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/402785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习《css世界》笔记之content自动添加开启闭合符号

实例 HTML <p lang"zh"><q>啦啦德玛西亚</q></p><p lang"en"><q>This book is very good!</q></p><p lang"no"><q>denne bog er fantasisk!</q></p><p class"…

Sybase用户登录以后的自动运行脚本

最近开始学习sybase&#xff0c;对学习过程中遇到的问题会在此做以记录&#xff0c;希望和大家共同来学习。 sybase&#xff08;ASE&#xff09;在用户登录之后可以指定自动运行一个脚本&#xff0c;执行指定的操作。一般为自定义的存储过程。 15.7之前的版本采用 添加&#xf…

php自动加载指定目录下的类文件

From: https://www.cnblogs.com/CpNice/p/4369399.html 网上找到的类&#xff0c;非常有用&#xff0c;文件名: autoload.php <?php /*** Created by PhpStorm.* User: zcm* Mail: zhouciming163.com* Date: 2018/10/10 上午10:20*/if(!defined(ROOTDIR)) {define(ROOTDI…

maven+jetty项目在tomcat部署

步骤1&#xff1a;项目打包 clean install 步骤二&#xff1a;拷贝war 包到tomcat下 步骤三&#xff1a;修改server.xml文件的端口 步骤四&#xff1a;启动tomcat,注意jetty的项目是不需要带项目名的&#xff0c;Tomcat的项目需要加上项目名。 温馨提示&#xff0c;在启动tomca…

学习《css世界》笔记之多行文本实现垂直居中

效果图 HTML <div class"box"><div class"content">具有行高实现的多行文字垂直居中效果&#xff0c;需要属性vertical-align帮助</div> </div>CSS .box{width: 200px;line-height: 120px;background-color: #f0f0f0;}.content{…

c++服务器websocket支持

From: https://blog.csdn.net/u010223072/article/details/80637127 介绍 目前公司服务器是c tcp的网络架构&#xff0c;现在想用这套做h5游戏&#xff0c;所以要扩展支持websocket通信。 那么什么是websocket&#xff1f;它和tcp有什么区别&#xff1f;这些随便一搜一大把&…

Ubuntu10.04制作官方源镜像以及搭建本地源

不能上网、网速慢、共享等等需求&#xff0c;使我们不能或者不想使Ubuntu10.04在线安装软件包&#xff0c;而是需要一个本地的更新源。通过apt-mirror工具&#xff0c;我们可以轻松制作官方源的本地镜像&#xff0c;通过本地镜像&#xff0c;我们可以本地安装更新软件. 1. 安装…

学习《css世界》笔记之使用vertical-align数值实现文字和小图标对齐

效果图 HTML <p>请选择<i class"icon-arrow"></i></p> <p>请选择<i class"icon-arrow valing-1"></i></p> <p>请选择<i class"icon-arrow valing-2"></i></p>CSS .i…

dll 和 lib--初级

今天碰到一个奇怪的问题&#xff0c;一个第三方的库&#xff0c;提供了A.dll和A.lib,编译的时候可以通过&#xff0c;运行的时候一直报错&#xff0c;说找不到A.dll。 我就在main函数那里设了断点&#xff0c;发现没有进main 函数的时候就已经报错了&#xff0c;应该是在入口函…

[Mac] php安装protobuf扩展

环境: mac os x 10.10.3 [zcmGatewayWorker 19]$php -v PHP 7.2.5 (cli) (built: May 1 2018 09:50:45) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologieswith Xdebug v2.6.0, Copyright (c) 2002-2018, by De…

MS SQL 能否修改实例名称

前几天研究了了一下修改数据库名称的方式后&#xff0c;今天突然冒出一个问题&#xff0c;MS SQL的命名实例是否也可以修改呢&#xff1f;例如下图&#xff0c;我在本机上安装了一个命名实例GSP&#xff0c;如果我想将其改为GSPS&#xff0c;能行吗&#xff1f; 如果可以&#…

MYSQL数据库时间字段INT,TIMESTAMP,DATETIME性能效率比较

from: http://www.piaoyi.org/database/MYSQL-INT-TIMESTAMP-DATETIME.html Author&#xff1a;飘易 Source&#xff1a;飘易 Categories&#xff1a;数据库 PostTime&#xff1a;2016-10-28 13:12:22 正 文&#xff1a; 在数据库设计的时候&#xff0c;我们经常会需要设计时…

学习《css世界》笔记之使用overflow做文字溢出点点点效果

效果图 HTML <p class"p1">qwertyuiopasdfghjklzxcvbnm</p><div class"d1"><p> 冯塘村过去经济较为落后。几年前&#xff0c;镇里以400多年的冯塘古村为基础&#xff0c;引来社会资金投资休闲农庄和共享民宿&#xff0c;把这里建…

关于 部署方面研究 Visual Studio 2013

InstallShield2013LimitedEdition 下载地址 http://download.csdn.net/download/yuanyuan_186/7681385 转载于:https://www.cnblogs.com/tianheBologs/p/5996361.html

Portal-Basic Java Web 应用开发框架:应用篇(十四) —— 异步 Action

Portal-Basic Java Web应用开发框架&#xff08;简称 Portal-Basic&#xff09;是一套功能完备的高性能Full-Stack Web应用开发框架&#xff0c;内置稳定高效的MVC基础架构和DAO框架&#xff08;已内置Hibernate、MyBatis和JDBC支持&#xff09;&#xff0c;集成 Action拦截、F…

类似No module named 'bs4'等错误的解决方法

from: https://www.cnblogs.com/xisheng/p/7856334.html 最近开始接触爬虫&#xff0c;写了如下源代码&#xff1a; from bs4 import BeautifulSoup import requests urlhttps://www.tripadvisor.cn/Attractions-g60763-Activities-New_York_City_New_York.html wb_datereque…

C. Vanya and Scales

C. Vanya and Scalestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputVanya has a scales for weighing loads and weights of masses w0, w1, w2, ..., w100 grams where w is some integer not less than 2(exac…

js_组合继承(最常用的继承方式)

<script type"text/javascript">//组合继承: 将原型链和借用构造函数的技术组合在一起//使用原型链实现对原型方法的继承//使用构造函数实现对实例属性的继承//js中最常用的继承方式//super:超类function SuperType(name) {//超类属性//使用构造函数实现对实例…

Hello World(本博客启程篇)

Hello World 作为本博客第一篇日志&#xff0c;作为程序员&#xff0c;无论走到哪里&#xff0c;做什么事&#xff0c;必须先输出这句话。 一个想法  从今天3月份到现在一直在学技术&#xff0c;过程中坑的解决、知识的总结以及想法等都写到了“有道云笔记”。 写有道云笔记的…

php7.2 event扩展php_sockets_le_socket错误解决

环境: [rootlocalhost php.d]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [rootlocalhost php.d]# php -v PHP 7.2.10 (cli) (built: Sep 15 2018 07:10:58) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-201…