Mental Model
We want to find if there is a loop in a directed graph where following edges leads back to a starting point.
Analogy: Imagine a set of one-way roads between cities. A cycle means you can start in one city and drive through some roads to return to the same city without reversing.
A -> B -> C ↑ ↓ └─────────
