Задача Конденсация графа

Файл входного файла: graph.in
Файл выходного файла: graph.out
Ограничение по памяти: 64 MB
Ограничение по времени: 1 s

Описание

Вам задан связный ориентированный граф с N вершинами и M ребрами (1 <= N <= 20 000, 1 <= M <= 200 000). Найдите компоненты сильной связности заданного графа и топологически отсортируйте его конденсацию.

Формат входных данных

Граф задан во входном файле следующим образом: первая строка содержит числа N и M. Каждая из следующих M строк содержит описание ребра – два целых числа из диапазона от 1 до N – номера начала и конца ребра.

Формат выходных данных

На первой строке выведите число K – количество компонент сильной связности в заданном графе. На следующей строке выведите N чисел – для каждой вершины выведите номер компоненты сильной связности, которой принадлежит эта вершина. Компоненты сильной связности должны быть занумерованы таким образом, чтобы для любого ребра номер компоненты сильной связности его начала не превышал номера компоненты сильной связности его конца.

Примеры:

ввод вывод

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

2
1 1 1 2 2 2

Added: admin
Difficulty: 0.804317877667
Accepted: 8
Submitted: 18
Источник задачи: МОСКОВСКИЕ УЧЕБНО-ТРЕНИРОВОЧНЫЕ СБОРЫ ПО ИНФОРМАТИКЕ. Весна – 2006
Analyze this Discuss

Обсуждение:

Начать обсуждение:

Powered by django, eJudge.