洛谷 P1656 炸铁路

题目描述

因为某国被某红色政权残酷的高压暴力统治。美国派出将军uim,对该国进行战略性措施,以解救涂炭的生灵。

该国有n个城市,这些城市以铁路相连。任意两个城市都可以通过铁路直接或者间接到达。

uim发现有些铁路被毁坏之后,某两个城市无法互相通过铁路到达。这样的铁路就被称为key road。

uim为了尽快使该国的物流系统瘫痪,希望炸毁铁路,以达到存在某两个城市无法互相通过铁路到达的效果。

然而,只有一发炮弹(美国国会不给钱了)。所以,他能轰炸哪一条铁路呢?

输入输出格式

输入格式:
第一行n,m(1<=n<=150, 1<=m<=5000),分别表示有n个城市,总共m条铁路。

以下m行,每行两个整数a, b,表示城市a和城市b之间有铁路直接连接。

输出格式:
输出有若干行。

每行包含两个数字a,b(a < b),表示 < a,b > 是key road。

请注意:输出时,所有的数对 < a,b > 必须按照a从小到大排序输出;如果a相同,则根据b从小到大排序。

输入输出样例

输入样例1:
6 6
1 2
2 3
2 4
3 5
4 5
5 6
输出样例1
1 2
5 6

求割边模板题直接用Tarjan
(我把我博客里tarjan求割边的模板代码改改拿过来了)

code:

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;const int MAX=1000010;
int n,m,cnt,sum;
int head[MAX],low[MAX],dfn[MAX],cedge[MAX];struct edg{int to,next,from;
}edge[MAX];void add(int x,int y){edge[++cnt].next=head[x];edge[cnt].from=x,edge[cnt].to=y;head[x]=cnt;
}void cutedge(int u,int f){dfn[u]=low[u]=++cnt;for(int i=head[u];i;i=edge[i].next){int v=edge[i].to;if(!dfn[v]){cutedge(v,u);low[u]=min(low[u],low[v]);if(dfn[u]<low[v]) cedge[++sum]=i;}else if(v!=f) low[u]=min(low[u],dfn[v]);}
}bool cmp(int a,int b){if(edge[a].from==edge[b].from) return edge[a].to<edge[b].to;return edge[a].from<edge[b].from;
}void find_cutedge(){for(int i=1;i<=n;i++) if(!dfn[i]) cutedge(i,0);sort(cedge+1,cedge+sum+1,cmp);for(int i=1;i<=sum;i++) printf("%d %d\n",edge[cedge[i]].from,edge[cedge[i]].to); 
}int main(){scanf("%d %d",&n,&m);for(int i=1;i<=m;i++){int a,b;scanf("%d %d",&a,&b);add(a,b);add(b,a);}find_cutedge();return 0;
}

转载于:https://www.cnblogs.com/Menteur-Hxy/p/9248045.html

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

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

相关文章

Word设置子标题跟随上级标题变化

1 先看看结果吧&#xff0c;结果可实现子标题跟随上级标题变动 2 设置各级标题 2.1 对于1级标题-“标题1”&#xff0c;修改标题样式样式基准&#xff1a;“正文”格式&#xff1a;段落&#xff1a;大纲级别&#xff1a;1级2.2 对于2级标题-“标题2”&#xff0c;修改标题样…

2压缩备份数据库_MySQL数据库备份

前端监控&#xff1a;www.webfunny.cn &#xff1b;只需要简单几步&#xff0c;就可以搭建一套属于自己的前端监控系统&#xff0c;快来试试吧。(github&#xff1a;webfunny_monitor)一、mysqldump 简介mysqldump 是 MySQL 自带的逻辑备份工具。它的备份原理是通过协议连接到 …

人工智能和物联网:智慧城市的交通管理

来源&#xff1a;帮尼资讯当今的智慧城市由不断重塑城市地区的先进技术提供发展驱动力。人工智能和物联网对于世界的运作越来越不可或缺。基于云的服务、物联网、分析平台和许多AI工具正在改变城市居民与环境互动和在环境中出行的方式。纽约市AI咨询和开发机构Blue Orange Digi…

python实现栈的操作入站出站查找元素等_Python实现的栈(Stack)

前言Python本身已有顺序表(List、Tupple)的实现&#xff0c;所以这里从栈开始。什么是栈想象一摞被堆起来的书&#xff0c;这就是栈。这堆书的特点是&#xff0c;最后被堆进去的书&#xff0c;永远在最上面。从这堆书里面取一本书出来&#xff0c;取哪本书最方便&#xff1f;肯…

Linux 计划任务

1.计划任务&#xff1a;at一次性计划任务。 &#xff08;1&#xff09;/etc/init.d/atd status   #查看at命令是否开启。 &#xff08;2&#xff09;yum -y install at     #安装at命令 命令&#xff1a; # 一次性计划任务。命令&#xff1a;at 09:14 /回车    at&g…

李德毅院士:基于驾驶脑的智能驾驶车辆硬件平台架构

来源&#xff1a;中国工程院院刊转自&#xff1a;智车科技导 读&#xff1a; 智能驾驶车辆试验平台是人工智能科学、认知科学、控制科学等多个学科领域的最新理论与实践的成果&#xff0c;也是研究智能驾驶理论与技术的基础。不同智能驾驶试验平台的传感器型号、数量、安装位置…

springboot中获得app_在SpringBoot中读取环境变量

What is the best way to read environment variables in SpringBoot?In Java I did it using:String foo System.getenv("bar");Is it possible to do it using Value annotation?解决方案Spring Boot allows you to externalize your configuration so you can …

jdk+Tomcat环境搭建

jdk安装与环境变量配置测试Java是否安装好&#xff0c;可以利用cmd命令提示符进行测试。在界面中输入Java&#xff0c;然后回车&#xff1b;得到下图所示的内容&#xff0c;说明安装成功了&#xff0c;可以进行环境变量配置了。进行环境变量配置&#xff0c;首先新建环境变量&a…

有关博弈人机混合智能的再思考

来源&#xff1a;人机与认知实验室【博弈智能研究是一个领域&#xff0c;不是一个学科&#xff0c;我们必须要用不同的方法论&#xff0c;从不同的角度来研究游戏&#xff0c;方法论、角度越多&#xff0c;博弈智能研究就会做得越好。】博弈智能是一种涉及感性&#xff08;尤其…

QMap与QHash

关联容器可以保存任意多个具有相同类型的项&#xff0c;且它们由一个键索引。Qt提供两个主要的关联容器类&#xff1a;QMap<K, T>和QHash<K, T>。 QMap<K, T>是一个以升序键顺序存储键值对的数据结构。这种排列使它可以提供良好的查找插入性能及键序的迭代。…

工业机器人滑膜变结构控制技术_机器人智能滑模变结构控制方法的研究

学校代号 10532 学 号 S150900769 分 类 号 TP241 密 级 公开 硕士学位论文 机器人智能滑模变结构控制方法的研究 学位申请人姓名 张爱林培 养 单 位 电气与信息工程学院导师姓名及职称 谢宏 副教授学 科 专 业 控制科学与工程 研 究 方 向 控制理论与控制工程论 文 提 交 日 期…

邬贺铨:工业互联网的网络技术

来源&#xff1a;工业互联网产业联盟在2020工业互联网大会开幕式上&#xff0c;中国工程院院士邬贺铨发表题为《工业互联网的网络技术》的主旨演讲&#xff0c;从工业互联网物理层技术、链路层技术、网络层技术三个方面&#xff0c;对现有通信网络如何满足工业互联网高速发展要…

NGINX下配置CACHE-CONTROL

转载的&#xff0c;那个页面让关了&#xff0c;&#xff0c;没标明请谅解。 HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-a…

无返回值_只需一步,在Spring Boot中统一Restful API返回值格式与处理异常

统一返回值在前后端分离大行其道的今天&#xff0c;有一个统一的返回值格式不仅能使我们的接口看起来更漂亮&#xff0c;而且还可以使前端可以统一处理很多东西&#xff0c;避免很多问题的产生。比较通用的返回值格式如下&#xff1a;public class Result { // 接口调用成功或者…

什么是边缘计算(Edge AI)?

来源&#xff1a;万物智能视界边缘AI发源于边缘计算。边缘计算也称为边缘处理&#xff0c;是一种将服务器放置在本地设备附近网络技术, 这有助于降低系统的处理负载&#xff0c;解决数据传输的延迟问题。这样的处理是在传感器附近或设备产生数据的位置进行的&#xff0c;因此称…

VUE全局api

一、什么是全局API&#xff1f; 全局API并不在构造器里&#xff0c;而是先声明全局变量或者直接在Vue上定义一些新功能&#xff0c;Vue内置了一些全局API&#xff0c;比如我们今天要学习的指令Vue.directive。说的简单些就是&#xff0c;在构造器外部用Vue提供给我们的API函数来…

vts传感器采取船舶的_智慧船舶交通管理系统

技术参数1、信息处理单台服务器水上目标(含移动和静止目标)实时处理容量≥10000个&#xff0c;可扩展。2、二三维显示性能单个工作台上显示水上目标数&#xff1a;10000个。3、VTS雷达录取点迹处理能力≥2000点/s。航迹处理能力≥1000批/转(22转/min)。航迹处理延时≤1s。功能描…

美国运通使用AI技术检测欺诈行为 增强安全性

来源丨Forbes编译丨科技行者多年以来&#xff0c;美国运通一直是人工智能与认知技术领域的领导者。作为坐拥有庞大忠实客户群体的全球金融服务机构&#xff0c;保障客户账户安全一直是运通职能的重中之重。在很长一段时间里&#xff0c;发现并制止欺诈行为一直是美国运通公司的…

未来趋势?通过无线技术管理汽车电池,可消除90%物理布线

电动汽车的电池寿命要求远比手机电池要高。来源 | 雷锋网作者 | 伍文靓雷锋网按&#xff0c;当智能手机中的电池损耗殆尽&#xff0c;无法满足正常使用的续航体验时&#xff0c;用户往往会选择换一台新的设备&#xff0c;以此来解决问题。这是十分常规的操作。然而&#xff0c…

MySQL ERROR 1045 (28000): Access denied for user 'root'@'192.168.23.224' (using password: YES)

出现如题错误可能原因&#xff1a; 1、密码有误。检查密码是否与 mysql.user 中 root 用户对应密码一致&#xff08;我就是这个原因&#xff0c;被折磨整个下午和晚上&#xff09; 2、用户 root 没有授权&#xff0c;授权命令如下&#xff1a; grant all on *.* to root% ident…