Use itertools for better readability.

This commit is contained in:
Bert Peters
2016-02-02 10:05:57 +01:00
parent 7a59999961
commit a75d14ec17

View File

@@ -2,6 +2,7 @@ from __future__ import print_function
import fileinput
from operator import mul
from functools import reduce
import itertools
totalArea = 0
totalRibbon = 0
@@ -9,10 +10,9 @@ for line in fileinput.input():
parts = [int(i) for i in line.split('x')]
parts.sort()
sides = [parts[0] * parts[1], parts[0] * parts[2], parts[1] * parts[2]]
totalArea += 2 * sum(sides)
sides = [x * y for x, y in itertools.combinations(parts, 2)]
totalArea += 2 * sum(sides) + min(sides)
totalArea += min(sides)
totalRibbon += 2 * (parts[0] + parts[1])
totalRibbon += reduce(mul, parts, 1)