Stable marriage problem: Difference between revisions

Content added Content deleted
Line 677: Line 677:
=={{header|Python}}==
=={{header|Python}}==
<lang python>import copy
<lang python>import copy
from collections import defaultdict


guyprefers = {
guyprefers = {
Line 733: Line 732:
def matchmaker():
def matchmaker():
guysfree = guys[:]
guysfree = guys[:]
engaged = defaultdict(str)
engaged = {}
guyprefers2 = copy.deepcopy(guyprefers)
guyprefers2 = copy.deepcopy(guyprefers)
galprefers2 = copy.deepcopy(galprefers)
galprefers2 = copy.deepcopy(galprefers)
Line 740: Line 739:
guyslist = guyprefers2[guy]
guyslist = guyprefers2[guy]
gal = guyslist.pop(0)
gal = guyslist.pop(0)
fiance = engaged[gal]
fiance = engaged.get(gal)
if not fiance:
if not fiance:
# She's free
# She's free