You are a robber planning to rob houses arranged in a binary tree. Each house has a value stored at its node. If you rob two directly-linked houses (parent and child), the alarm triggers and you get caught. Find the maximum value you can rob without triggering the alarm.
This is the classic include/exclude pattern on trees. Track both options at each node, then pick the better one. The constraint (no adjacent nodes) determines the recurrence.