day 12
This commit is contained in:
parent
db5f1d0e7c
commit
845e10fd19
2 changed files with 155 additions and 0 deletions
58
12/12-1.py
Executable file
58
12/12-1.py
Executable file
|
@ -0,0 +1,58 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
|
||||
moonvel = ([0,0,0], [0,0,0], [0,0,0], [0,0,0])
|
||||
|
||||
# ex1
|
||||
# <x=-1, y=0, z=2>
|
||||
# <x=2, y=-10, z=-7>
|
||||
# <x=4, y=-8, z=8>
|
||||
# <x=3, y=5, z=-1>
|
||||
moonpos = ([-1,0,2], [2,-10,-7], [4,-8,8], [3,5,-1])
|
||||
|
||||
# ex2
|
||||
# <x=-8, y=-10, z=0>
|
||||
# <x=5, y=5, z=10>
|
||||
# <x=2, y=-7, z=3>
|
||||
# <x=9, y=-8, z=-3>
|
||||
# moonpos = ([-8,-10,0], [5,5,10], [2,-7,3], [9,-8,-3])
|
||||
|
||||
# p2 ex
|
||||
# <x=-8, y=-10, z=0>
|
||||
# <x=5, y=5, z=10>
|
||||
# <x=2, y=-7, z=3>
|
||||
# <x=9, y=-8, z=-3>
|
||||
moonpos = ([-8,-10,0], [5,5,10], [2,7,3], [9,-8,-3])
|
||||
|
||||
# mine
|
||||
# <x=5, y=13, z=-3>
|
||||
# <x=18, y=-7, z=13>
|
||||
# <x=16, y=3, z=4>
|
||||
# <x=0, y=8, z=8>
|
||||
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)
|
Loading…
Add table
Add a link
Reference in a new issue