strongly connected components programming assignment implemented