博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
旅游电车
阅读量:4677 次
发布时间:2019-06-09

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

【题目描述】

首都有N个旅游景区,电车只沿道路规定的方向行驶,为了不使投入使用的电车有可能无法回到它的起始站,人们希望知道可以在哪些景区设置站点。

一个景区可以被设置成车站,当且对于任意一个从该景区出发所能到达的景区,均至少有一条路可回到该景区。现已完成了一份景区之间的道路连通情况的报告,报告中将给出首都的景区数目N、道路总数M以及一些形如“景区A和景区B之间有一条从A到B的单向道路”的信息。根据报告中的信息,列出所有可以被设置成车站的景区。

【输入描述】

输入由多份报告组成(这些报告相互无任何联系),每份报告包括:

第一行包含两个整数N、M;

接下来M行,每行两个整数Ai、Bi表示Ai和Bi之间有一条单向道路Ai --> Bi。

当N=0时,输入结束。

对于任意景区,分别以该景区为起点或终点的道路总数均不超过50。

【输出描述】

对于每份报告,输出一行,包括所有能被设置成电车站点的景区编号,各编号之间用一个空格隔开。

【样例输入】

5 6

1 2

2 3

3 4

4 1

2 5

5 2

1 0

0

【样例输出】

1 2 3 4 5

1

【数据范围及提示】

对于40%的数据,N <= 200;

对于100%的数据,N <= 5000,M <= 50000。

源代码:#include
#include
#include
#include
using namespace std;stack
H;vector
S[5001];int n,m,Num,Ans,Head[5001],i[5001],j[5001];bool In[5001];void Tarjan(int t) //朴素Tarjan。{ i[t]=j[t]=++Num; In[t]=true; H.push(t); for (int a=0;a

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

你可能感兴趣的文章
敏捷开发笔记
查看>>
css实现背景图片模糊
查看>>
学前班
查看>>
手把手教您扩展虚拟内存
查看>>
android-samples-mvp
查看>>
oracle 11g r2安装
查看>>
关于自关联1
查看>>
存储控制器、MMU、flash控制器介绍
查看>>
hdu-1814(2-sat)
查看>>
自我反省
查看>>
反射,得到Type引用的三种方式
查看>>
pl sql练习(2)
查看>>
Problem B: 判断回文字符串
查看>>
谷歌浏览器,添加默认搜索引擎的搜索地址
查看>>
数据结构化与保存
查看>>
C# .net 获取程序运行的路径的几种方法
查看>>
为什么需要Docker?
查看>>
国内5家云服务厂商 HTTPS 安全性测试横向对比
查看>>
how to control project
查看>>
转 python新手容易犯的6个错误
查看>>