Skip to content

Instantly share code, notes, and snippets.

@no-glue
Forked from sramana/graph_coloring.py
Last active August 29, 2015 14:21
Show Gist options
  • Save no-glue/2660dd121ebda535a221 to your computer and use it in GitHub Desktop.
Save no-glue/2660dd121ebda535a221 to your computer and use it in GitHub Desktop.
colors = ['Red', 'Blue', 'Green', 'Yellow', 'Black']
states = ['Andhra', 'Karnataka', 'TamilNadu', 'Kerala']
neighbors = {}
neighbors['Andhra'] = ['Karnataka', 'TamilNadu']
neighbors['Karnataka'] = ['Andhra', 'TamilNadu', 'Kerala']
neighbors['TamilNadu'] = ['Andhra', 'Karnataka', 'Kerala']
neighbors['Kerala'] = ['Karnataka', 'TamilNadu']
colors_of_states = {}
def promising(state, color):
for neighbor in neighbors.get(state):
color_of_neighbor = colors_of_states.get(neighbor)
if color_of_neighbor == color:
return False
return True
def get_color_for_state(state):
for color in colors:
if promising(state, color):
return color
def main():
for state in states:
colors_of_states[state] = get_color_for_state(state)
print colors_of_states
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment