From 8719f9b676c787da374c0c3018c02c5518b5c9ad Mon Sep 17 00:00:00 2001 From: optimistic-coder-001 <72167494+optimistic-coder-001@users.noreply.github.com> Date: Thu, 1 Oct 2020 02:46:55 +0530 Subject: [PATCH 1/2] Create mcoloring.txt.py --- backtracking/mcoloring.txt.py | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 backtracking/mcoloring.txt.py diff --git a/backtracking/mcoloring.txt.py b/backtracking/mcoloring.txt.py new file mode 100644 index 000000000000..cc5a2a0e5c2f --- /dev/null +++ b/backtracking/mcoloring.txt.py @@ -0,0 +1,44 @@ +class Graph(): + + def __init__(self, vertices): + self.V = vertices + self.graph = [[0 for column in range(vertices)]\ + for row in range(vertices)] + + # A utility function to check if the current color assignment + # is safe for vertex v + def isSafe(self, v, colour, c): + for i in range(self.V): + if self.graph[v][i] == 1 and colour[i] == c: + return False + return True + + # A recursive utility function to solve m + # coloring problem + def graphColourUtil(self, m, colour, v): + if v == self.V: + return True + + for c in range(1, m+1): + if self.isSafe(v, colour, c) == True: + colour[v] = c + if self.graphColourUtil(m, colour, v+1) == True: + return True + colour[v] = 0 + + def graphColouring(self, m): + colour = [0] * self.V + if self.graphColourUtil(m, colour, 0) == False: + return False + + # Print the solution + print "Solution exist and Following are the assigned colours:" + for c in colour: + print c, + return True + +# Driver Code +g = Graph(4) +g.graph = [[0,1,1,1], [1,0,1,0], [1,1,0,1], [1,0,1,0]] +m=3 +g.graphColouring(m) From b0ec835414337930e376b8975280949c20432354 Mon Sep 17 00:00:00 2001 From: optimistic-coder-001 <72167494+optimistic-coder-001@users.noreply.github.com> Date: Thu, 1 Oct 2020 18:45:36 +0530 Subject: [PATCH 2/2] updated m-coloring.py --- backtracking/{mcoloring.txt.py => mcoloring.py} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename backtracking/{mcoloring.txt.py => mcoloring.py} (95%) diff --git a/backtracking/mcoloring.txt.py b/backtracking/mcoloring.py similarity index 95% rename from backtracking/mcoloring.txt.py rename to backtracking/mcoloring.py index cc5a2a0e5c2f..f79b28f9bc2f 100644 --- a/backtracking/mcoloring.txt.py +++ b/backtracking/mcoloring.py @@ -2,7 +2,7 @@ class Graph(): def __init__(self, vertices): self.V = vertices - self.graph = [[0 for column in range(vertices)]\ + self.graph = [[0 for column in range(vertices)] for row in range(vertices)] # A utility function to check if the current color assignment