CAPCITY - Capital City

There are N cities in Flatland connected with M unidirectional roads. The cities are numbered from 1 to N. The Flat Circle of Flatland (FCF) wants to set up a new capital city for his kingdom. For security reasons, the capital must be reachable from all other cities of Flatland. FCF needs the list of all candidate cities. You are the chief programmer at FACM (Flat Association for Computing Machinery) responsible for providing the list to FCF as soon as possible.


The first line of the input file contains two integers: 1 ≤ N ≤ 100,000 and 1 ≤ M ≤ 200,000. Each of the following M lines contains two integers 1 ≤ A, B ≤ N denoting a road from A to B.


The output file contains an integer denoting the number of candidate cities followed by the list of candidate cities in increasing order.


4 4
1 2
3 2
4 3
2 1

1 2

hide comments
shahianshu: 2018-08-13 10:02:54

nice question based on tarjan's algorithm , keep in mind that you can easily break away when you get 1st scc as it will give the required answer and then sort all the elements of the scc and then print them

jalaikontum: 2018-07-23 11:20:05

AC in one go :))
tarjan algorithm :v, sorry for my bad english :v

s_a_k_s_h_a_m: 2018-07-14 11:57:02

use condensation of graph
sort the vertices in toplogical order(after reversing edges of condensed graph)

jh0n_12358: 2018-06-27 15:33:05

After 3 hours AC in one go

aditya12legend: 2018-06-23 17:07:47

Done with a combination of DSU and DFS

aman_sachin200: 2018-06-17 21:06:13

Awesome One!!!!Don't forget to print the cities in increasing order!!!!Similar problem TOUR !!:P

ankitraj7217: 2018-06-06 08:33:21

Weak test cases..No test cases for 0 capital city..

Last edit: 2018-06-06 08:41:55
mohit_aggarwal: 2018-03-01 09:18:26

AC in one Go :-p
Nice Problem !!

johnwalkerwa: 2018-02-18 07:50:14

Honestly, is this solvable with java? Maybe I'm just bad.

ramini1996: 2018-02-09 15:00:04

My 20th test case is accepted when I ran my DFS on reverse graph starting from every single node which is not explored.There is no case where the graph contains components that are not at all connected to each other. So, there is at least one capital city always.

Last edit: 2018-02-09 15:01:00

Added by:Narek Saribekyan
Time limit:1s-4s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Resource:Armenian TST 2010, Round 2