CF1361E.James and the Chase
NOI/NOI+/CTSC
通过率:0%
时间限制:2.50s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
James Bond has a new plan for catching his enemy. There are some cities and directed roads between them, such that it is possible to travel between any two cities using these roads. When the enemy appears in some city, Bond knows her next destination but has no idea which path she will choose to move there.
The city a is called interesting, if for each city b, there is exactly one simple path from a to b. By a simple path, we understand a sequence of distinct cities, such that for every two neighboring cities, there exists a directed road from the first to the second city.
Bond's enemy is the mistress of escapes, so only the chase started in an interesting city gives the possibility of catching her. James wants to arrange his people in such cities. However, if there are not enough interesting cities, the whole action doesn't make sense since Bond's people may wait too long for the enemy.
You are responsible for finding all the interesting cities or saying that there is not enough of them. By not enough, James means strictly less than 20% of all cities.
詹姆斯·邦德制定了一个抓捕敌人的新计划。存在若干城市以及它们之间的有向道路,使得任意两座城市之间均可通过这些道路相互到达。当敌人出现在某座城市时,邦德知晓她下一个目的地,但无法预知她将选择哪条路径前往该地。
若对任意城市 b,均恰好存在一条从城市 a 到 b 的简单路径,则称城市 a 为有趣城市。此处,“简单路径”指由互不相同的若干城市构成的序列,且对其中任意两个相邻城市,均存在一条从前者指向后者的有向道路。
由于敌人为逃脱大师,唯有从有趣城市出发的追捕行动才有可能成功将其抓获。因此,詹姆斯希望将手下部署于所有有趣城市中。然而,若有趣城市的数量不足,则整个行动毫无意义——因为邦德的手下可能需等待过久才能等到敌人出现。
你的任务是找出所有有趣城市;若其数量不足(即严格少于城市总数的 20%),则需明确指出这一点。
输入格式
The first line contains one integer t (1≤t≤2000) — the number of test cases. Each test case is described as follows:
The first line contains two integers n and m (1≤n≤105, 0≤m≤2⋅105) — the number of cities and roads between them. Each of the following m lines contains two integers u, v (u=v; 1≤u,v≤n), which denote that there is a directed road from u to v.
You can assume that between each ordered pair of cities there is at most one road. The sum of n over all test cases doesn't exceed 105, and the sum of m doesn't exceed 2⋅105.
第一行包含一个整数 t(1≤t≤2000),表示测试用例的数量。每个测试用例的描述如下:
第一行包含两个整数 n 和 m(1≤n≤105,0≤m≤2⋅105),分别表示城市的数量以及城市之间的道路数量。接下来的 m 行中,每行包含两个整数 u 和 v(u=v;1≤u,v≤n),表示存在一条从城市 u 指向城市 v 的有向道路。
你可以假设:对于任意一对有序城市,至多存在一条道路。所有测试用例的 n 之和不超过 105,所有测试用例的 m 之和不超过 2⋅105。
输出格式
If strictly less than 20% of all cities are interesting, print −1. Otherwise, let k be the number of interesting cities. Print k distinct integers in increasing order — the indices of interesting cities.
如果有趣的城市数量严格少于所有城市总数的 20%,则输出 −1。否则,设 k 为有趣城市的数量,按升序输出 k 个互不相同的整数——即有趣城市的索引。
输入输出样例
输入#1
4 3 3 1 2 2 3 3 1 3 6 1 2 2 1 2 3 3 2 1 3 3 1 7 10 1 2 2 3 3 1 1 4 4 5 5 1 4 6 6 7 7 4 6 1 6 8 1 2 2 3 3 4 4 5 5 6 6 1 6 2 5 1
输出#1
1 2 3 -1 1 2 3 5 -1
说明/提示
In all drawings, if a city is colored green, then it is interesting; otherwise, it is colored red.
In the first sample, each city is interesting.

In the second sample, no city is interesting.

In the third sample, cities 1, 2, 3 and 5 are interesting.

In the last sample, only the city 1 is interesting. It is strictly less than 20% of all cities, so the answer is −1.

在所有示意图中,若某城市被涂成绿色,则该城市是“有趣的”;否则,该城市被涂成红色。
在第一个样例中,每个城市都是有趣的。

在第二个样例中,没有任何城市是有趣的。

在第三个样例中,城市 1、2、3 和 5 是有趣的。

在最后一个样例中,仅有城市 1 是有趣的。其数量严格小于所有城市总数的 20%,因此答案为 −1。

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