a digraph is a SCC iff it has an ear decomposition
proof:
forward direction (ear decomposition scc) is trivial
to show scc ear decomposition, we can start with any cycle (this can be a single node)
WLOG, assume this cycle is just node .
then, at each step:
let be a node not currently in our component.
Let the path be the next ear.
after all nodes are added, join all remaining single edges