Как я могу изменить программу
Привет. Может ли кто-нибудь помочь мне добавить новые возможности в программу, которая работает нормально, но мне нужно добавить новую возможность.
Оригинальная версия была скопирована из GeekForGeeks, чтобы найти, сколько циклов с n узлами имеют ненаправленный граф, это решение работает нормально, но мне нужно добавить к решению, каково количество узлов в решении, и когда все узлы повторяются, считайте как один.
Я пытался, но не могу найти решение. Ниже приведена копия исходного решения.
Большое спасибо, что уделили мне время.
С уважением.
НОГА.
Что я уже пробовал:
// GeeksforGeeks.com // C# program to calculate cycles of // length n in a given graph using System; class GFG { // Number of vertices public static int V = 5; static int count = 0; static void DFS(int [,]graph, bool []marked, int n, int vert, int start) { // mark the vertex vert as visited marked[vert] = true; // if the path of length (n-1) is found if (n == 0) { // mark vert as un-visited to // make it usable again marked[vert] = false; // Check if vertex vert end // with vertex start if (graph[vert, start] == 1) { count++; return; } else return; } // For searching every possible // path of length (n-1) for (int i = 0; i < V; i++) if (!marked[i] && graph[vert, i] == 1) // DFS for searching path by // decreasing length by 1 DFS(graph, marked, n - 1, i, start); // marking vert as unvisited to make it // usable again marked[vert] = false; } // Count cycles of length N in an // undirected and connected graph. static int countCycles(int [,]graph, int n) { // all vertex are marked un-visited // initially. bool []marked = new bool[V]; // Searching for cycle by using // v-n+1 vertices for (int i = 0; i < V - (n - 1); i++) { DFS(graph, marked, n - 1, i, i); // ith vertex is marked as visited // and will not be visited again marked[i] = true; } return count / 2; } // Driver code public static void Main() { int [,]graph = {{0, 1, 0, 1, 0}, {1, 0, 1, 0, 1}, {0, 1, 0, 1, 0}, {1, 0, 1, 0, 1}, {0, 1, 0, 1, 0}}; int n = 4; Console.WriteLine("Total cycles of length "+ n + " are "+ countCycles(graph, n)); } }