Я ищу, возможно, эффективный алгоритм для обнаружения "выигрышной" ситуации в игре гомоку (пять в ряд), сыгранной на Доска 19х19. Выигрышная ситуация возникает, когда одному из игроков удается собрать пять и НЕ БОЛЕЕ пяти «камней» подряд (горизонтальных, диагональных или вертикальных).
У меня есть следующие легко доступные данные:
Я делаю это в javascript, но любое решение, которое не использует низкоуровневые вещи, такие как выделение памяти или операции с массивами более высокого уровня (python), будет хорошо.
Я нашел похожий вопрос ( Определить выигрыш в нулевой игре и кроссах ), но приведенные там решения относятся только к маленьким доскам (5x5 и т. д.).