update day 9 + 10 Yea<r 2015
This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
# Developer : David Bandeira
|
||||
|
||||
import sys,time
|
||||
from itertools import permutations
|
||||
|
||||
from helpingFunctions import *
|
||||
|
||||
setSampleMode(False)
|
||||
@@ -13,15 +15,44 @@ aocYear = identifyYear(sys.argv[0])
|
||||
|
||||
path = getPath2Data(aocDay,aocYear)
|
||||
filename = getFilename2Data(aocDay)
|
||||
|
||||
|
||||
def calcDistances(data):
|
||||
trips={}
|
||||
locations=[]
|
||||
for dataRow in data:
|
||||
trip,distance = dataRow.split(' = ')
|
||||
locationA,locationB = trip.split(' to ')
|
||||
locations.append(locationA)
|
||||
locations.append(locationB)
|
||||
locations = list(set(locations))
|
||||
trips[(locationA.strip(),locationB.strip())]=int(distance.strip())
|
||||
trips[(locationB.strip(),locationA.strip())]=int(distance.strip())
|
||||
allTrips = list(permutations(locations))
|
||||
distanceTrips={}
|
||||
for run in allTrips:
|
||||
allDistance=0
|
||||
for i in range(len(run)-1):
|
||||
allDistance += trips[(run[i],run[i+1])]
|
||||
distanceTrips[run]=allDistance
|
||||
return distanceTrips
|
||||
|
||||
def taskA (data) -> int:
|
||||
global distanceTrips
|
||||
gameScoreA = 0
|
||||
tripSearchDistance = 0
|
||||
distanceTrips = calcDistances(data)
|
||||
for tripList,tripDistance in distanceTrips.items():
|
||||
if tripSearchDistance == 0 or tripSearchDistance > tripDistance: tripSearchDistance = tripDistance
|
||||
gameScoreA=tripSearchDistance
|
||||
return gameScoreA
|
||||
|
||||
def taskB (data) -> int:
|
||||
gameScoreB = 0
|
||||
tripSearchDistance = 0
|
||||
for tripList,tripDistance in distanceTrips.items():
|
||||
if tripSearchDistance == 0 or tripSearchDistance < tripDistance: tripSearchDistance = tripDistance
|
||||
gameScoreB=tripSearchDistance
|
||||
return gameScoreB
|
||||
|
||||
def task(task: int,data) -> int:
|
||||
score=0
|
||||
if task == 1:
|
||||
|
||||
Reference in New Issue
Block a user