Implement the complete solution with trie-guided backtracking. Implementation steps:
Build trie from word list
For each cell, start DFS with trie root
Track visited cells (modify board or use set)
When reaching a word-end node, add to results
Backtrack by restoring cell state Common bugs: - Forgetting to unmark visited cells when backtracking - Finding the same word multiple times (from different starting positions) - Not handling the case where one word is a prefix of another Time: where is board size and is max word length. Trie pruning makes this much faster in practice.