Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def graphColoring(graph, k, n):
- vis={}
- adj={i:[] for i in range(n)}
- for i in range(n):
- for j in range(n):
- if graph[i][j]==1:
- adj[i].append(j)
- def possible(v,i):
- for ver in adj[v]:
- if ver in vis and vis[ver]==i:
- return False
- return True
- def dfs(u):
- if u==n:return True
- for i in range(k):
- if possible(u,i):
- vis[u]=k
- if dfs(u+1):return True
- vis.pop(u)
- return False
- if dfs(0):return 1
- else:return 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement