Не специально для вашего случая, но я столкнулся с несколькими вопросами программирования, где я нашел алгоритм Ли весьма удобным для быстрого кода. Он не самый эффективный для всех случаев, но легко вывернуться. Вот one Я взломал для конкурса.