Я пишу Settlers Catan clone для класса. Одна из дополнительных функций кредита автоматически определяет, какой игрок имеет самую длинную дорогу. Я подумал об этом, и кажется, что некоторые незначительные изменения в поиске по глубине могут работать, но мне трудно понять, что делать с обнаружением циклов, как справиться с присоединением игрока к двум начальным дорожным сетям, и несколько других мелочей. Как я могу сделать это алгоритмически?
Для тех, кто не знаком с игрой, я попытаюсь кратко и абстрактно описать проблему: мне нужно найти самый длинный путь в неориентированном циклическом графе.