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