Find the fastest swim relay (shortest path of unique nodes and types)
Meh, I'm no Python programmer by any stretch of the imagination. Hell, some would even hesitate to call me a programmer. But as nobody else has answerred this, why not post my solution? If anything else, it was fun just to brush up on the very Python basics:

swimmers = [{'Fly': 10, 'Breast': 48.26, 'Free': 28.43, 'Back': 34}, 
{'Fly': 47.51, 'Breast': 24, 'Free': 28.47, 'Back': 10}, 
{'Fly': 26, 'Breast': 46.44, 'Free': 10, 'Back': 30}, 
{'Fly': 37.81, 'Breast': 10, 'Free': 24, 'Back': 49}, 
{'Fly': 38.31, 'Breast': 29, 'Free': 20, 'Back': 10}]

bestTime = float('inf')

for fly in range(len(swimmers)):
    for breast in range(len(swimmers)):
        for free in range(len(swimmers)):
            for back in range(len(swimmers)):
                if len(set([fly,breast,free,back])) &gt; 3:
                    current = swimmers[fly]['Fly'] + swimmers[breast]['Breast'] + swimmers[free]['Free'] + swimmers[back]['Back']
                    if current &lt; bestTime:
                        bestTime = current

print bestTime