Description

SGOI旅游局在SG-III星团开设了旅游业务,每天有数以万计的地球人来这里观光,包括联合国秘书长,各国总统和SGOI总局局长等。旅游线路四通八达,每天都有总躲得载客太空飞船在星团的星球之间来往穿梭,他们保证了任意两个星球之间总是可以通过航道到达。但是,最近由于财政出现了困难,一些一些太空飞船也过于古老,又没有足够的资金购买新产品,所有只好取消一些航道。如果某一条航道的删除使得一些星球不能到达,纳闷这条航道是不能删除的,称之为“主要行道”。SGOI旅游局局长希望知道主要行道的数目,但是航道较多,他不能手工计算,于是,他委托你写一个程序,计算主要航道数目。

Input

输入文件包含若干组数据。每组数据的首行有两个数m,n(1<=m<=15000,1<=n<=40000)。星球的编号从1到m。以下n行每行用两个整数a,b(1<=a,b<=m)描述一条航道的信息,表示从星球a到星球b是有航道的。数据有SGOI旅游局提供,你无需担心数据有错。输入文件以一行“0 0”为结束。

Output

输出文件共有C行,第I行仅有一个数,表示第I组输入数据的主要行道数目。

Sample Input

2 1
1 2
0 0

Sample Output

1
这道题是割边的板子题,开始就跑一遍tarjan,然后跑的时候,判断如果搜索完以后,这个点父亲的dfn值依然比自己low小,说明自己并没有再走到比父亲dfn还小的节点,也就是自己和自己父亲这条边就是割边了。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
#define MAXN 150010
#define REP(i,k,n) for(int i=k;i<=n;i++)
#define in(a) a=read()
using namespace std;
inline int read(){int f=1,x=0;char ch=getchar();for(;!isdigit(ch);ch=getchar())if(ch=='-')f=-1;for(;isdigit(ch);ch=getchar())x=x*10+ch-'0';return x*f;
}
int n,m,cnt,ans;
int dfn[MAXN],low[MAXN];
int total=0,head[MAXN],nxt[MAXN<<1],to[MAXN<<1];
inline void adl(int a,int b){total++;to[total]=b;nxt[total]=head[a];head[a]=total;return ;
}
inline void tarjan(int u,int f){low[u]=dfn[u]=++cnt;for(int e=head[u];e;e=nxt[e]){if(!dfn[to[e]] && to[e]!=f){tarjan(to[e],u);low[u]=min(low[to[e]],low[u]);if(low[to[e]]>dfn[u])  ans++;}else  if(dfn[to[e]]<low[u] && to[e]!=f)  low[u]=dfn[to[e]];}return ;
}
int main(){while(scanf("%d%d",&n,&m)!=EOF){if(n==0 && m==0)  return 0;total=0;memset(dfn,0,sizeof(dfn));memset(low,0,sizeof(low));memset(head,0,sizeof(head));cnt=ans=0;int a,b;REP(i,1,m){in(a);in(b);adl(a,b);adl(b,a);}tarjan(1,0);cout<<ans<<endl; }
}

转载于:https://www.cnblogs.com/jason2003/p/9702994.html

bzoj1393 旅游航道相关推荐

  1. 1182. 旅游航道(tarjan算法)

    旅游航道 SGOI 旅游局在 SG-III 星团开设了旅游业务,每天有数以万计的地球人来这里观光,包括联合国秘书长,各国总统和 SGOI 总局局长等.旅游线路四通八达,每天都有众多的载客太空飞船在星团 ...

  2. 《信息学奥赛一本通》提高版题单

    第一部分 基础算法 第 1 章 贪心算法 #10000 「一本通 1.1 例 1」活动安排 #10001 「一本通 1.1 例 2」种树 #10002 「一本通 1.1 例 3」喷水装置 #10003 ...

  3. 2022年度交通运输行业重点科技项目申报开始,重点关注这几个方向

    近日,交通运输部发布关于<组织开展2022年度交通运输行业重点科技项目清单申报工作>的通知,开展2022年行业重点项目申报工作.截止日期为2022年9月20日.接下来就带大家了解一下本次申 ...

  4. LOJ 一本通一句话题解系列:

    第一部分 基础算法 第 1 章 贪心算法 1):「一本通 1.1 例 1」活动安排:按照结束时间排序,然后扫一遍就可以了. 2):「一本通 1.1 例 2」种树:首先要尽量的往区间重叠的部分种树,先按 ...

  5. 一本通-提高篇-图论-割点和桥:

    一本通: 提高篇: 图论: 割点和桥: 1520:[ 例 1]分离的路径 题意:如何把有桥图通过加边变成边双连通分量 如果叶子数(缩点后度为1的点)为1,则至少需要添加0条边: 否则为(叶子数+1)/ ...

  6. 一本通提高篇之一句话系列

    [通知] 由于LL喜新厌旧另置新书,这篇博客目测,会无限咕下去 大概会在十月及以后再次拿起 [进度] 20/34 咿呀,还有14章了QwQ 我太蒻了 连一本通都没刷完 是分块哒(^~^) 例题解析请看 ...

  7. 一本通提高篇在线提交地址

    一本通提高篇 1 基础算法 1.1 贪心算法 1.1.1 P2018  [第一章例题1.1]活动安排正确: 9 提交: 17 比率: 52.94 % 1.1.2 P2021 [第一章例题1.2]种树正 ...

  8. 中国5A级旅游景区名单

    5A是一套规范性标准化的质量等级评定体系,是目前全国旅游景区(点)最高评定标准.标准较4A级旅游景区更加注重人性化和细节化,更能反映出游客对旅游景区的普遍心理需求,突出以游客为中心,强调以人为本.它有 ...

  9. 2022-2028年中国康养旅游行业市场竞争力分析及发展策略分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国康养旅游行业市场行业相关概述.中国康养旅 ...

最新文章

  1. C# 用tabcontrol实现窗体类似网页排版的显示
  2. 用python做自己主动化測试--绘制系统性能趋势图和科学计算
  3. MySQL Commons
  4. 微软的焦虑?想多了!从.NET6 Preview2到大厂招聘,起飞
  5. GitBlit使用安装教程~
  6. 搜索 —— 深搜的剪枝技巧
  7. Tomcat 项目部署方式
  8. 部分代码_C primer plus 第三章 (代码部分)
  9. mysql数据库官网怎么下载安装_MySQL数据库的下载与安装
  10. 在Windows中安装SoapUI
  11. 阿里云服务器linux 启动网卡失败,提示does not seem to be present,delaying initialization
  12. 追踪服务器的网站,网站Tracert路由追踪|在线Tracert工具—卡卡网 www.webkaka.com
  13. ArcGIS教程 - 4 GIS数据
  14. js splice,slice,split区别
  15. 【数据共享】深度学习异常行为数据集—疲劳驾驶数据集—行为分析数据集
  16. otg android 键盘,使用USB OTG将手机、平板连上键盘、U盘
  17. 机械革命台式计算机,机械革命台式机怎么样
  18. 【pytorch模型实现9】HAN_Attention
  19. 97岁诺奖得主的励志人生:本科学文学,博士转物理,54岁才开始锂电池研究
  20. 帝君级别 纯手写 原创 jQuery入门笔记

热门文章

  1. 【机器学习笔记】随机生成mini-batches的原理及过程
  2. Buffalo WZR-HP-G300NH刷机记
  3. Photoshop cs5快捷键大全
  4. jas CAS单点登录学习之一   单点流程
  5. DA14580发现服务
  6. linux怎么运行炒股软件,在Deepin 20系统下运行东方财富股票软件的方法
  7. 【Python从零到壹】面向对象的封装,继承和多态
  8. Science Advances:如何睡才能开发创造性
  9. realvnc viewer安卓下载,realvnc viewer安卓下载工具加使用方法
  10. 为什么多元函数可微,偏导数不一定连续?【从一元函数和多元函数类比的角度】