Look for these signals in the problem:
- "Find all paths" or "explore all possibilities": DFS naturally explores paths to completion before trying alternatives.
- "Detect cycle" in graph: DFS with recursion stack tracking reveals back edges that indicate cycles.
- "Connected components" counting: DFS from unvisited nodes marks all reachable nodes as one component.
- Topological-order processing: Post-order DFS produces reverse topological order for dependency resolution.
- Grid flood fill: DFS marks connected regions efficiently for island counting or area calculation.