0039. Дороги

Имя входного файла: roads.in
Имя выходного файла: roads.out
Ограничение по времени: 2 s
Ограничение по памяти: 64 megabytes

Дана карта дорог города. Она задается с помощью односторонних дорог идущих из одного перекрестка в другой (двусторонние пути заданы с помощью двух односторонних). По этим дорогам требуется определить: сколькими путями можно попасть из одного перекрестка в другой? Два пути считаются различными, если они различаются последовательностью посещаемых перекрестков (один перекресток можно посещать несколько раз).

Формат входного файла

N √ число односторонних дорог. Далее в N строчках расположены через пробел перекресток начала движения и окончания движения. Номера перекрестков не превосходят 49.

Формат выходного файла

Матрица M строк по M чисел (через пробел). i-ая строка, j-ое число которой означает, каким количеством путей можно попасть из перекрестка i в перекресток j, где M – максимальный номер перекрестка, встречающийся во входном файле. Если путей бесконечное количество, выведите -1.

Пример:

roads.inroads.out
3 0 1 1 2 2 1 0 -1 -1 0 -1 -1 0 -1 -1


Источник: Petrozavodsk training camp, Summer 2002. DNK contest
Автор: Denis Davydov (DNK team)

Обсудить       Отправить решение



Версия для печати