CF118E.Bertown roads

普及+/提高

通过率:0%

时间限制:5.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Bertown has n junctions and m bidirectional roads. We know that one can get from any junction to any other one by the existing roads.

As there were more and more cars in the city, traffic jams started to pose real problems. To deal with them the government decided to make the traffic one-directional on all the roads, thus easing down the traffic. Your task is to determine whether there is a way to make the traffic one-directional so that there still is the possibility to get from any junction to any other one. If the answer is positive, you should also find one of the possible ways to orient the roads.

伯特城有 nn 个路口和 mm 条双向道路。已知通过现有的道路,可以从任意一个路口到达其他任意一个路口。

随着城市中汽车数量不断增加,交通拥堵开始成为现实问题。为应对这一问题,政府决定将所有道路改为单向通行,以缓解交通压力。你的任务是判断:是否存在一种方式,将所有道路定向为单向,使得任意两个路口之间仍可相互到达(即图在定向后仍强连通)。如果答案为肯定,请同时给出一种可行的道路定向方案。

输入格式

The first line contains two space-separated integers n and m (2 ≤ n ≤ 105, n - 1 ≤ m ≤ 3·105) which represent the number of junctions and the roads in the town correspondingly. Then follow m lines, each containing two numbers which describe the roads in the city. Each road is determined by two integers a__i and b__i (1 ≤ a__i, b__i ≤ n, a__i ≠ b__i) — the numbers of junctions it connects.

It is guaranteed that one can get from any junction to any other one along the existing bidirectional roads. Each road connects different junctions, there is no more than one road between each pair of junctions.

第一行包含两个以空格分隔的整数 nn 和 mm(2 ≤ n ≤ 1052 \leq n \leq 10^5,n − 1 ≤ m ≤ 3⋅105n - 1 \leq m \leq 3\cdot10^5),分别表示城镇中路口的数量和道路的数量。接下来是 mm 行,每行包含两个数字,用于描述城市中的道路。每条道路由两个整数 aia_i 和 bib_i(1 ≤ ai, bi ≤ n1 \leq a_i, b_i \leq n,ai ≠ bia_i \neq b_i)确定——即该道路所连接的两个路口的编号。

保证任意两个路口之间均可通过现有的双向道路相互到达。每条道路连接两个不同的路口,且任意一对路口之间至多只有一条道路。

输出格式

If there's no solution, print the single number 0. Otherwise, print m lines each containing two integers p__i and q__i — each road's orientation. That is the traffic flow will move along a one-directional road from junction p__i to junction q__i. You can print the roads in any order. If there are several solutions to that problem, print any of them.

如果无解,输出单个数字 0。否则,输出 m 行,每行包含两个整数 p__i 和 q__i —— 表示每条道路的定向,即车流将沿单向道路从路口 p__i 流向路口 q__i。你可以以任意顺序输出这些道路。若该问题存在多个解,输出其中任意一个即可。

输入输出样例

  • 输入#1

    6 8
    1 2
    2 3
    1 3
    4 5
    4 6
    5 6
    2 4
    3 5

    输出#1

    1 2
    2 3
    3 1
    4 5
    5 6
    6 4
    4 2
    3 5
  • 输入#2

    6 7
    1 2
    2 3
    1 3
    4 5
    4 6
    5 6
    2 4

    输出#2

    0

输入解题思路,AI测评打分。不知道怎么写?

首页