博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UOJ #271 炸铁路
阅读量:4627 次
发布时间:2019-06-09

本文共 1065 字,大约阅读时间需要 3 分钟。

【题目描述】:因为某国被某红色政权残酷的高压暴力统治。美国派出将军uim,对该国进行战略性措施,以解救涂炭的生灵。该国有n个城市,这些城市以铁路相连。任意两个城市都可以通过铁路直接或者间接到达。uim发现有些铁路被毁坏之后,某两个城市无法互相通过铁路到达。这样的铁路就被称为key road。uim为了尽快使该国的物流系统瘫痪,希炸毁铁路,已达到存在某两个城市无法互相通过铁路到达的效果。然而,只有一发炮弹(美国国会不给钱了)。所以,他可以在哪些铁路中选择一条轰炸呢?【输入描述】:第一行n,m,分别表示有n个城市,总共m条铁路。以下m行,每行两个整数a,b,表示城市a和城市b之间有铁路直接连接。【输出描述】:输出有若干行。每行包含两个数字a,b(不保证a是key road。请注意:输出时,所有的数对必须按照a从小到大排序输出;如果a相同,则根据b从小到大排序。【样例输入】:6 61 22 32 43 54 55 6【样例输出】:1 25 6【时间限制、数据范围及描述】:时间:1s 空间:128M1<=n<=10000, 1<=m<=100000本题可以用tarjan求图的桥,然后按字典序输出即可。Code:#include
#include
#include
#include
#include
#include
const int N=10005;using namespace std;vector
G[N];int n,m,low[N],dfn[N];int father[N];int tim,len;struct Node{ int x,y;}ans[N];bool cmp(Node p,Node q){ if(p.x==q.x){ return p.y
0&&low[i]>dfn[v]){ ans[++len].x=min(v,i); ans[len].y=max(v,i); } } sort(ans+1,ans+1+len,cmp); for(int i=1;i<=len;i++){ printf("%d %d\n",ans[i].x,ans[i].y); } return 0;}

转载于:https://www.cnblogs.com/ukcxrtjr/p/11195471.html

你可能感兴趣的文章
跟我学SpringCloud | 第五篇:熔断监控Hystrix Dashboard和Turbine
查看>>
高并发 Nginx+Lua OpenResty系列(10)——商品详情页
查看>>
跟我学SpringCloud | 第七篇:Spring Cloud Config 配置中心高可用和refresh
查看>>
openGL 六边形
查看>>
openGL 蓝天白云
查看>>
openGL 画线条
查看>>
pyqt5desinger的安装即配置
查看>>
openGL 折线
查看>>
python 通过函数的使用,将字典的深度搜索化简(减少循环次数)
查看>>
openGL 大作业之n星变换
查看>>
pyqt图标
查看>>
python 文件操作
查看>>
ASCII码对照表
查看>>
很棒的积极自我暗示语
查看>>
《linux系统及其编程》实验课记录(一)
查看>>
本学期(大三下学期)学习目标
查看>>
painting fence - 分治 - Codeforces 448c
查看>>
游戏模型规范
查看>>
【养老政策】关于鼓励民间资本参与养老服务业发展的实施意见
查看>>
python爬虫之多线程、多进程、GIL锁
查看>>