Применим алгоритм Флойда. Храним в массиве a[110][110] матрицу смежности ориентированного графа.
Вводим n и m. Для того чтобы в массив а хранить матрицу смежности делаем следующие действия:
1) Все элементы массива а онулируем.
2) Теперь заполним массив так как во входных данных.
После этих действии Запустим алгоритм Флойда немного изменив его т.е. если существует такой ненулевой путь из i -> k и из k -> j и еще одно условие если нет ребра между i -> j или a[i][j] > a[i][k] + a[k][j] то a[i][j] = a[i][k] + a[k][j]. Теперь найдем максимум всех элементов из
массива а которые выполняются при этом условии i != j. Желаю удачи ;-)