#!/usr/bin/env python3 import sys moonvel = ([0,0,0], [0,0,0], [0,0,0], [0,0,0]) # ex1 # # # # moonpos = ([-1,0,2], [2,-10,-7], [4,-8,8], [3,5,-1]) # ex2 # # # # # moonpos = ([-8,-10,0], [5,5,10], [2,-7,3], [9,-8,-3]) # p2 ex # # # # moonpos = ([-8,-10,0], [5,5,10], [2,7,3], [9,-8,-3]) # mine # # # # moonpos = ([5,13,-3], [18,-7,13], [16,3,4], [0,8,8]) for steps in range(0,1000): # Update velocity for moon in range(0, len(moonpos)): for pair in range(0, len(moonpos)): if pair == moon: continue for coord in range(0,3): if moonpos[moon][coord] < moonpos[pair][coord]: moonvel[moon][coord] += 1 elif moonpos[moon][coord] > moonpos[pair][coord]: moonvel[moon][coord] -= 1 # Update position for moon in range(0, len(moonpos)): for coord in range(0,3): moonpos[moon][coord] += moonvel[moon][coord] total = 0 for moon in range(0, len(moonpos)): pot = abs(moonpos[moon][0]) + abs(moonpos[moon][1]) + abs(moonpos[moon][2]) kin = abs(moonvel[moon][0]) + abs(moonvel[moon][1]) + abs(moonvel[moon][2]) total += pot * kin print (total)