diff options
Diffstat (limited to 'src/21/part1')
| -rw-r--r-- | src/21/part1 | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/21/part1 b/src/21/part1 new file mode 100644 index 0000000..1f4bd6c --- /dev/null +++ b/src/21/part1 @@ -0,0 +1,43 @@ +--- Day 21: Allergen Assessment --- + +You reach the train's last stop and the closest you can get to your vacation island without getting +wet. There aren't even any boats here, but nothing can stop you now: you build a raft. You just need +a few days' worth of food for your journey. + +You don't speak the local language, so you can't read any ingredients lists. However, sometimes, +allergens are listed in a language you [1m[37mdo[0m understand. You should be able to use this +information to determine which ingredient contains which allergen and work out which foods are safe +to take with you on your trip. + +You start by compiling a list of foods (your puzzle input), one food per line. Each line includes +that food's [1m[37mingredients list[0m followed by some or all of the allergens the food +contains. + +Each allergen is found in exactly one ingredient. Each ingredient contains zero or one allergen. +[1m[37mAllergens aren't always marked[0m; when they're listed (as in (contains nuts, shellfish) +after an ingredients list), the ingredient that contains each listed allergen will be +[1m[37msomewhere in the corresponding ingredients list[0m. However, even if an allergen isn't +listed, the ingredient that contains that allergen could still be present: maybe they forgot to +label it, or maybe it was labeled in a language you don't know. + +For example, consider the following list of foods: + +mxmxvkd kfcds sqjhc nhms (contains dairy, fish) +trh fvjkl sbzzf mxmxvkd (contains dairy) +sqjhc fvjkl (contains soy) +sqjhc mxmxvkd sbzzf (contains fish) + +The first food in the list has four ingredients (written in a language you don't understand): +mxmxvkd, kfcds, sqjhc, and nhms. While the food might contain other allergens, a few allergens the +food definitely contains are listed afterward: dairy and fish. + +The first step is to determine which ingredients [1m[37mcan't possibly[0m contain any of the +allergens in any food in your list. In the above example, none of the ingredients kfcds, nhms, +sbzzf, or trh can contain an allergen. Counting the number of times any of these ingredients appear +in any ingredients list produces [1m[37m5[0m: they all appear once each except sbzzf, which +appears twice. + +Determine which ingredients cannot possibly contain any of the allergens in your list. [1m[37mHow +many times do any of those ingredients appear?[0m + + |
