Будет ли работать матрица, показывающая края? Подумайте о создании матрицы, показывающей, где находятся ребра, т.е. [a, b] = 1 <=> a-> b - это ребро в графе, иначе 0. Теперь поднимите эту Матрицу до различных степеней, чтобы показать, сколько существует способов добраться между вершинами, используя n шагов, а затем сложите их, чтобы получить результат. Это всего лишь идея одного способа решения проблемы, могут быть и другие способы ее решения.
Интересно, относится ли это к MathOverflow , как еще одна идея
Правда, если у вас есть нулевая матрица, вы можете перестать возводить в степень, как в вашем случае, не так много мест, куда можно пойти после 3, но пути с 1 по 3 будут прямыми, а тот, который проходит через 2, так что есть только несколько матриц, которые нужно сложить, прежде чем будет найдена вся нулевая.
Я бы подумал, что должен быть способ вычислить границу, скажем, n ^ (n + 1), где n - количество вершин в графе, которое указывало бы точку остановки как на эту точку, на каждую вершину. будет посещен один раз. Я не уверен, как вывести циклические пути из проблемы, хотя, или можно предположить, что граф свободен от циклов?