def solve(): """Main function""" grid = [] res = 0 max_adj = 4 text = slurp_file("p011.txt") for row in text.split("\n"): grid.append([int(x) for x in row.split(" ")]) len_grid = len(grid) # Horizontal for i in xrange(len_grid): for j in xrange(len_grid - max_adj): res = max(res, mul([grid[i][j + x] for x in xrange(max_adj)])) # Vertical for i in xrange(len_grid): for j in xrange(len_grid - max_adj): res = max(res, mul([grid[j + x][i] for x in xrange(max_adj)])) # Diag 1 for i in xrange(len_grid - max_adj): for j in xrange(len_grid - max_adj): res = max(res, mul([grid[i + x][j + x] for x in xrange(max_adj)])) # Diag 2 for i in xrange(max_adj - 1, len_grid - max_adj): for j in xrange(len_grid - max_adj): res = max(res, mul([grid[i - x][j + x] for x in xrange(max_adj)])) return res
def solve(): '''Main function''' text = slurp_file('p013.txt') digits = 10 total = sum([int(x) for x in text.split('\n')]) return int(str(total)[:digits])
def solve(): '''Main function''' text = slurp_file('p022_names.txt') names = sorted(text.split(',')) values = {x: ord(x) - 64 for x in ascii_uppercase} count = 0 for i, name in enumerate(names): name = name.replace('"', '') count += (i + 1) * sum([values[x] for x in name]) return count