@@ -7,22 +7,22 @@ object Day19:
77 def <= (r : Resources ): Boolean = ore <= r.ore && clay <= r.clay && obsidian <= r.obsidian && geode <= r.geode
88
99 def maximize (input : Seq [String ], minutes : Int ): Seq [Int ] = input.map { line =>
10- val Seq (id, ore1, clay1, obsidian1, obsidian2, geode1, geode2 ) = line.split(" \\ D+" ).tail.map(_.toInt).toSeq
10+ val Seq (id, ore1, ore2, ore3, clay, ore4, obsidian ) = line.split(" \\ D+" ).tail.map(_.toInt).toSeq
1111
1212 val oreBotCost = Resources (ore1, 0 , 0 , 0 )
13- val clayBotCost = Resources (clay1 , 0 , 0 , 0 )
14- val obsidianBotCost = Resources (obsidian1, obsidian2 , 0 , 0 )
15- val geodeBotCost = Resources (geode1 , 0 , geode2 , 0 )
13+ val clayBotCost = Resources (ore2 , 0 , 0 , 0 )
14+ val obsidianBotCost = Resources (ore3, clay , 0 , 0 )
15+ val geodeBotCost = Resources (ore4 , 0 , obsidian , 0 )
1616
1717 val zero = Resources (0 , 0 , 0 , 0 )
1818 val oreBot = Resources (1 , 0 , 0 , 0 )
1919 val clayBot = Resources (0 , 1 , 0 , 0 )
2020 val obsidianBot = Resources (0 , 0 , 1 , 0 )
2121 val geodeBot = Resources (0 , 0 , 0 , 1 )
2222
23- val maxOre = ore1.max(clay1 ).max(obsidian1 ).max(geode1 )
24- val maxClay = obsidian2
25- val maxObsidian = geode2
23+ val maxOre = ore1.max(ore2 ).max(ore3 ).max(ore4 )
24+ val maxClay = clay
25+ val maxObsidian = obsidian
2626
2727 def helper (time : Int , bots : Resources , resources : Resources , prevCanOre : Boolean , prevCanClay : Boolean , prevCanObsidian : Boolean ): Int =
2828 if time == 0 then
0 commit comments