Updated README
This commit is contained in:
parent
4e67cca173
commit
e5d1db9508
49
2015/15/15.md
Normal file
49
2015/15/15.md
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
## \-\-- Day 15: Science for Hungry People \-\--
|
||||||
|
|
||||||
|
Today, you set out on the task of perfecting your milk-dunking cookie
|
||||||
|
recipe. All you have to do is find the right balance of ingredients.
|
||||||
|
|
||||||
|
Your recipe leaves room for exactly `100` teaspoons of ingredients. You
|
||||||
|
make a list of the *remaining ingredients you could use to finish the
|
||||||
|
recipe* (your puzzle input) and their *properties per teaspoon*:
|
||||||
|
|
||||||
|
- `capacity` (how well it helps the cookie absorb milk)
|
||||||
|
- `durability` (how well it keeps the cookie intact when full of milk)
|
||||||
|
- `flavor` (how tasty it makes the cookie)
|
||||||
|
- `texture` (how it improves the feel of the cookie)
|
||||||
|
- `calories` (how many calories it adds to the cookie)
|
||||||
|
|
||||||
|
You can only measure ingredients in whole-teaspoon amounts accurately,
|
||||||
|
and you have to be accurate so you can reproduce your results in the
|
||||||
|
future. The *total score* of a cookie can be found by adding up each of
|
||||||
|
the properties (negative totals become `0`) and then multiplying
|
||||||
|
together everything except calories.
|
||||||
|
|
||||||
|
For instance, suppose you have [these two
|
||||||
|
ingredients]{title="* I know what your preference is, but..."}:
|
||||||
|
|
||||||
|
Butterscotch: capacity -1, durability -2, flavor 6, texture 3, calories 8
|
||||||
|
Cinnamon: capacity 2, durability 3, flavor -2, texture -1, calories 3
|
||||||
|
|
||||||
|
Then, choosing to use `44` teaspoons of butterscotch and `56` teaspoons
|
||||||
|
of cinnamon (because the amounts of each ingredient must add up to
|
||||||
|
`100`) would result in a cookie with the following properties:
|
||||||
|
|
||||||
|
- A `capacity` of `44*-1 + 56*2 = 68`
|
||||||
|
- A `durability` of `44*-2 + 56*3 = 80`
|
||||||
|
- A `flavor` of `44*6 + 56*-2 = 152`
|
||||||
|
- A `texture` of `44*3 + 56*-1 = 76`
|
||||||
|
|
||||||
|
Multiplying these together (`68 * 80 * 152 * 76`, ignoring `calories`
|
||||||
|
for now) results in a total score of `62842880`, which happens to be the
|
||||||
|
best score possible given these ingredients. If any properties had
|
||||||
|
produced a negative total, it would have instead become zero, causing
|
||||||
|
the whole score to multiply to zero.
|
||||||
|
|
||||||
|
Given the ingredients in your kitchen and their properties, what is the
|
||||||
|
*total score* of the highest-scoring cookie you can make?
|
||||||
|
|
||||||
|
To begin, [get your puzzle input](15/input).
|
||||||
|
|
||||||
|
Answer:
|
||||||
|
|
31
2015/15/solution.py
Normal file
31
2015/15/solution.py
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/python3
|
||||||
|
import sys,time,re
|
||||||
|
from pprint import pprint
|
||||||
|
sys.path.insert(0, '../../')
|
||||||
|
from fred import list2int,get_re,nprint,lprint,loadFile
|
||||||
|
start_time = time.time()
|
||||||
|
|
||||||
|
input_f = 'test'
|
||||||
|
|
||||||
|
#########################################
|
||||||
|
# #
|
||||||
|
# Part 1 #
|
||||||
|
# #
|
||||||
|
#########################################
|
||||||
|
def part1():
|
||||||
|
return
|
||||||
|
|
||||||
|
start_time = time.time()
|
||||||
|
print('Part 1:',part1(), '\t\t', round((time.time() - start_time)*1000), 'ms')
|
||||||
|
|
||||||
|
|
||||||
|
#########################################
|
||||||
|
# #
|
||||||
|
# Part 2 #
|
||||||
|
# #
|
||||||
|
#########################################
|
||||||
|
def part2():
|
||||||
|
return
|
||||||
|
|
||||||
|
start_time = time.time()
|
||||||
|
print('Part 2:',part2(), '\t\t', round((time.time() - start_time)*1000), 'ms')
|
Loading…
Reference in New Issue
Block a user