diff --git a/2015/15/15.md b/2015/15/15.md new file mode 100644 index 0000000..fc4f3d0 --- /dev/null +++ b/2015/15/15.md @@ -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: + diff --git a/2015/15/solution.py b/2015/15/solution.py new file mode 100644 index 0000000..a8f60c2 --- /dev/null +++ b/2015/15/solution.py @@ -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') \ No newline at end of file diff --git a/README.md b/README.md index 20a155c..abe6938 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,7 @@ //| ## 2015 + >O>*<<>>*>@<< 14 ** >>O>>>o>>o>>*>>o<< 13 ** >O>*<@>>o@<<<@>>*>>>o< 12 ** >*>>o>>>@<<*>>o>@<>>@>@<<< 11 **