https://adventofcode.com/2022/day/16
센서는 당신을 조난 신호의 발신기로 인도했습니다. 그 발신기는 엘프들이 당신에게 준 것과 같은 또 다른 휴대용 장치입니다. 그러나 주변에 엘프들은 보이지 않습니다. 대신, 그 장치는 코끼리에 둘러싸여 있습니다! 그들은 이 터널에서 길을 잃었음에 틀림없으며, 코끼리 중 한 마리가 조난 신호를 켜는 방법을 알아낸 것 같습니다.
땅이 다시 한번, 훨씬 더 세게 우르릉거립니다. 이 동굴이 정확히 어떤 종류의 동굴인지 궁금해져, 휴대용 장치로 동굴을 다시 한번 스캔해보았습니다. 그 결과 동굴이 대부분 화성암과 약간의 화산재, 가압 가스 주머니, 마그마로 이루어져 있다고 보고되었습니다... 이것은 단순한 동굴이 아니라 화산입니다!
당신은 코끼리를 여기서 빨리 빼내야 합니다. 당신의 장치는 화산이 폭발하기까지 30분이 남았다고 추정하기 때문에, 들어왔던 길을 다시 돌아나갈 시간이 없습니다.
다른 방법을 찾기 위해 동굴을 스캔해보니, 파이프와 압력 방출 밸브의 네트워크를 발견하였습니다. 그러한 시스템이 어떻게 화산에 있는지 알 수 없지만, 불평할 시간이 없습니다. 당신의 장치는 각 밸브의 유량(분당 압력)과 밸브 사이를 이동하는 데 사용할 수 있는 터널에 대한 보고서(퍼즐 입력)를 생성하였습니다.
당신과 코끼리가 현재 서 있는 방에는 AA
라는 라벨이 붙은 밸브가 있습니다. 하나의 밸브를 여는 데 1분이 걸리고, 한 밸브에서 다른 밸브로 터널을 따라가는 데 1분이 걸릴 것으로 예상합니다. 당신이 방출할 수 있는 가장 큰 압력은 몇입니까?
예를 들어 다음과 같은 스캔 결과가 있다고 가정합시다.
Valve AA has flow rate=0; tunnels lead to valves DD, II, BB
Valve BB has flow rate=13; tunnels lead to valves CC, AA
Valve CC has flow rate=2; tunnels lead to valves DD, BB
Valve DD has flow rate=20; tunnels lead to valves CC, AA, EE
Valve EE has flow rate=3; tunnels lead to valves FF, DD
Valve FF has flow rate=0; tunnels lead to valves EE, GG
Valve GG has flow rate=0; tunnels lead to valves FF, HH
Valve HH has flow rate=22; tunnel leads to valve GG
Valve II has flow rate=0; tunnels lead to valves AA, JJ
Valve JJ has flow rate=21; tunnel leads to valve II
모든 밸브는 닫힌 채로 시작합니다. 당신은 밸브 AA
에서 시작하는데, 벨브가 손상되었거나 막힌 것이 틀림없습니다. 이 벨브의 유량은 0
이므로, 여는 것은 의미가 없습니다. 그러나 벨브 BB
로 이동하는데 1분이 소요되고, 벨브 BB
를 여는데 1분이 소요될 수 있습니다. 이렇게 하면 나머지 28분 동안 분당 13
의 유량으로 압력이 방출되고, 총 최종 압력 방출량은 28 * 13 = 364
가 됩니다. 그런 다음 3분 동안 밸브 CC
로 이동하고 4분 동안 밸브 CC
를 열어 26분 동안 분당 2
의 유량으로 압력을 방출해, 52
의 총 압력을 추가로 방출할 수 있습니다.
이와 같이 터널을 통과하면 30
분이 경과할 때까지 밸브의 대부분 또는 전부를 열 수 있을 것입니다. 그러나 가능한 한 많은 압력을 해제해야 하므로 체계적으로 열 필요가 있습니다. 다음과 같은 접근법을 고려해봅시다.
== Minute 1 ==
어떤 벨브도 열리지 않았음.
벨브 DD로 이동한다.
== Minute 2 ==
어떤 벨브도 열리지 않았음.
벨브 DD를 연다.
== Minute 3 ==
벨브 DD가 열렸음, 20의 압력을 방출한다.
벨브 CC로 이동한다.
== Minute 4 ==
벨브 DD가 열렸음, 20의 압력을 방출한다.
벨브 BB로 이동한다.
== Minute 5 ==
벨브 DD가 열렸음, 20의 압력을 방출한다.
벨브 BB를 연다.
== Minute 6 ==
벨브 BB와 DD가 열렸음, 33의 압력을 방출한다.
벨브 AA로 이동한다.
== Minute 7 ==
벨브 BB와 DD가 열렸음, 33의 압력을 방출한다.
벨브 II로 이동한다.
== Minute 8 ==
벨브 BB와 DD가 열렸음, 33의 압력을 방출한다.
벨브 JJ로 이동한다.
== Minute 9 ==
벨브 BB와 DD가 열렸음, 33의 압력을 방출한다.
벨브 JJ를 연다.
== Minute 10 ==
벨브 BB와 DD, JJ가 열렸음, 54의 압력을 방출한다.
벨브 II로 이동한다.
== Minute 11 ==
벨브 BB와 DD, JJ가 열렸음, 54의 압력을 방출한다.
벨브 AA로 이동한다.
== Minute 12 ==
벨브 BB와 DD, JJ가 열렸음, 54의 압력을 방출한다.
벨브 DD로 이동한다.
== Minute 13 ==
벨브 BB와 DD, JJ가 열렸음, 54의 압력을 방출한다.
벨브 EE로 이동한다.
== Minute 14 ==
벨브 BB와 DD, JJ가 열렸음, 54의 압력을 방출한다.
벨브 FF로 이동한다.
== Minute 15 ==
벨브 BB와 DD, JJ가 열렸음, 54의 압력을 방출한다.
벨브 GG로 이동한다.
== Minute 16 ==
벨브 BB와 DD, JJ가 열렸음, 54의 압력을 방출한다.
벨브 HH로 이동한다.
== Minute 17 ==
벨브 BB와 DD, JJ가 열렸음, 54의 압력을 방출한다.
벨브 HH를 연다.
== Minute 18 ==
벨브 BB와 DD, HH, JJ가 열렸음, 76의 압력을 방출한다.
벨브 GG로 이동한다.
== Minute 19 ==
벨브 BB와 DD, HH, JJ가 열렸음, 76의 압력을 방출한다.
벨브 FF로 이동한다.
== Minute 20 ==
벨브 BB와 DD, HH, JJ가 열렸음, 76의 압력을 방출한다.
벨브 EE로 이동한다.
== Minute 21 ==
벨브 BB와 DD, HH, JJ가 열렸음, 76의 압력을 방출한다.
벨브 EE를 연다.
== Minute 22 ==
벨브 BB와 DD, HH, JJ가 열렸음, 76의 압력을 방출한다.
벨브 DD로 이동한다.
== Minute 23 ==
벨브 BB와 DD, HH, JJ가 열렸음, 76의 압력을 방출한다.
벨브 CC로 이동한다.
== Minute 24 ==
벨브 BB와 DD, HH, JJ가 열렸음, 76의 압력을 방출한다.
벨브 CC를 연다.
== Minute 25 ==
벨브 BB와 CC, DD, HH, JJ가 열렸음, 81의 압력을 방출한다.
== Minute 26 ==
벨브 BB와 CC, DD, HH, JJ가 열렸음, 81의 압력을 방출한다.
== Minute 27 ==
벨브 BB와 CC, DD, HH, JJ가 열렸음, 81의 압력을 방출한다.
== Minute 28 ==
벨브 BB와 CC, DD, HH, JJ가 열렸음, 81의 압력을 방출한다.
== Minute 29 ==
벨브 BB와 CC, DD, HH, JJ가 열렸음, 81의 압력을 방출한다.
== Minute 30 ==
벨브 BB와 CC, DD, HH, JJ가 열렸음, 81의 압력을 방출한다.
이 접근 방식을 사용하면, 이 벨브 배치들에서 30분 안에 방출할 수 있는 가장 큰 압력인 1651
만큼을 방출할 수 있습니다.
30분 동안 가장 많은 압력을 방출할 수 있는 단계를 수행하십시오. 방출할 수 있는 최대 압력은 얼마입니까?