def createMatrix(): netMatrixString = pi.readFile("resources/107.txt") temp = netMatrixString.splitlines() # special code, 0's represent no connection # otherwise the distance represents it netMatrix = [[int(a*(a != "-") + "0"*(a == "-")) for a in x.split(",")] for x in temp] return netMatrix
def maxPath(): file = prime.readFile("resources/67.txt") file = file.splitlines() tri = [[int(y) for y in x.split(" ")] for x in file] result = [tri[0]] for x in range(1,len(tri)): result.append([]) for y in range(len(tri[x])): z = max(getAboveTwo(x,y,result)) result[-1].append(tri[x][y] + z) return result
def maxPath(): file = prime.readFile("resources/67.txt") file = file.splitlines() tri = [[int(y) for y in x.split(" ")] for x in file] result = [tri[0]] for x in range(1, len(tri)): result.append([]) for y in range(len(tri[x])): z = max(getAboveTwo(x, y, result)) result[-1].append(tri[x][y] + z) return result
#Solved import prime import math numbers = [(int(a.split(",")[0]), int(a.split(",")[1])) for a in prime.readFile("resources/99.txt").splitlines()] def compareExps(a, b): print(a, b, end=" ") aLogb = math.log(a[0], b[0]) print(aLogb) if (b[1] / aLogb > a[1]): return b else: return a numbers2 = numbers[:] while (len(numbers) > 1): a = numbers.pop(0) b = numbers.pop(0) numbers.append(compareExps(a, b)) print(numbers[0]) print(numbers2.index(numbers[0]))
if (num >= 90): fin += "XC" num %= 90 elif (num >= 50): fin += "L" num %= 50 elif (num >= 40): fin += "XL" num %= 40 fin += "X" * (num // 10) num %= 10 if (num == 9): fin += "IX" num %= 9 elif (num >= 5): fin += "V" num %= 5 elif (num >= 4): fin += "IV" num %= 4 fin += "I" * num return fin roms = prime.readFile("resources/89.txt").splitlines() total = 0 for rom in roms: newRom = minimal(romToNum(rom)) total += len(rom) - len(newRom) print(total)
#Solved import prime as pi matrix = pi.readFile("resources/11.txt") matrix = [[int(x) for x in j.split(" ")] for j in matrix.splitlines()] def product(x): product = 1 for y in x: product *= y return product def iterate2DList(x): max = 0 for row in range(len(x)): for col in range(len(x[row])): z = searchDirAtPoint(row, col, x, max) if (z > max): max = z return max def searchDirAtPoint(row, col, board, max): dirs = [(dRow, dCol) for dRow in range(-1, 2) for dCol in range(-1, 2)] dirs.pop(4) for dir in dirs: try: product = 1 list1 = [] for i in range(4): z = board[row + dir[0] * i][col + dir[1] * i]
#Solved import prime as pi matrix = pi.readFile("resources/11.txt") matrix = [[int(x) for x in j.split(" ")] for j in matrix.splitlines()] def product(x): product = 1 for y in x: product *= y return product def iterate2DList(x): max = 0 for row in range(len(x)): for col in range(len(x[row])): z = searchDirAtPoint(row,col,x,max) if(z > max): max = z return max def searchDirAtPoint(row,col,board,max): dirs = [(dRow,dCol) for dRow in range(-1,2) for dCol in range(-1,2)] dirs.pop(4) for dir in dirs: try: product = 1 list1 = [] for i in range(4): z = board[row + dir[0] * i][col + dir[1] * i] product *= z list1 += [z] if product > max:
#Solved import prime import math numbers = [(int(a.split(",")[0]),int(a.split(",")[1])) for a in prime.readFile("resources/99.txt").splitlines()] def compareExps(a,b): print(a,b,end=" ") aLogb = math.log(a[0],b[0]) print(aLogb) if(b[1] / aLogb > a[1]): return b else: return a numbers2 = numbers[:] while (len(numbers) > 1): a = numbers.pop(0) b = numbers.pop(0) numbers.append(compareExps(a,b)) print(numbers[0]) print(numbers2.index(numbers[0]))
return 1 def triContainsOrigin(tri): p1,p2,p3,o = tri[0],tri[1],tri[2],(0,0) s1 = createLine(p2,p3) s2 = createLine(p1,p3) s3 = createLine(p1,p2) if(pointLine(p1,s1) != pointLine(o,s1)): return False if(pointLine(p2,s2) != pointLine(o,s2)): return False if(pointLine(p3,s3) != pointLine(o,s3)): return False return True triangles = prime.readFile("resources/102.txt").splitlines() tris = [] for tri in triangles: a = [int(x) for x in tri.split(",")] s1 = (a[0],a[1]) s2 = (a[2],a[3]) s3 = (a[4],a[5]) tris.append((s1,s2,s3)) total = 0 for x in tris: if(triContainsOrigin(x)): total += 1 print(total)
def triContainsOrigin(tri): p1, p2, p3, o = tri[0], tri[1], tri[2], (0, 0) s1 = createLine(p2, p3) s2 = createLine(p1, p3) s3 = createLine(p1, p2) if (pointLine(p1, s1) != pointLine(o, s1)): return False if (pointLine(p2, s2) != pointLine(o, s2)): return False if (pointLine(p3, s3) != pointLine(o, s3)): return False return True triangles = prime.readFile("resources/102.txt").splitlines() tris = [] for tri in triangles: a = [int(x) for x in tri.split(",")] s1 = (a[0], a[1]) s2 = (a[2], a[3]) s3 = (a[4], a[5]) tris.append((s1, s2, s3)) total = 0 for x in tris: if (triContainsOrigin(x)): total += 1 print(total)
num %= 100 if(num >= 90): fin += "XC" num %= 90 elif(num >= 50): fin += "L" num %= 50 elif(num >= 40): fin += "XL" num %= 40 fin += "X" * (num//10) num %= 10 if(num == 9): fin += "IX" num %= 9 elif(num >= 5): fin += "V" num %= 5 elif(num >= 4): fin += "IV" num %= 4 fin += "I" * num return fin roms = prime.readFile("resources/89.txt").splitlines() total = 0 for rom in roms: newRom = minimal(romToNum(rom)) total += len(rom) - len(newRom) print(total)