1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
--- Part Two ---
Now that you have the structure of your transmission decoded, you can calculate the value of the
expression it represents.
Literal values (type ID 4) represent a single number as described above. The remaining type IDs are
more interesting:
- Packets with type ID 0 are [1m[97msum[0m packets - their value is the sum of the values of their
sub-packets. If they only have a single sub-packet, their value is the value of the sub-packet.
- Packets with type ID 1 are [1m[97mproduct[0m packets - their value is the result of multiplying together
the values of their sub-packets. If they only have a single sub-packet, their value is the value of
the sub-packet.
- Packets with type ID 2 are [1m[97mminimum[0m packets - their value is the minimum of the values of their
sub-packets.
- Packets with type ID 3 are [1m[97mmaximum[0m packets - their value is the maximum of the values of their
sub-packets.
- Packets with type ID 5 are [1m[97mgreater than[0m packets - their value is [1m[97m1[0m if the value of the first
sub-packet is greater than the value of the second sub-packet; otherwise, their value is
[1m[97m0[0m. These packets always have exactly two sub-packets.
- Packets with type ID 6 are [1m[97mless than[0m packets - their value is [1m[97m1[0m if the value of the first
sub-packet is less than the value of the second sub-packet; otherwise, their value is
[1m[97m0[0m. These packets always have exactly two sub-packets.
- Packets with type ID 7 are [1m[97mequal to[0m packets - their value is [1m[97m1[0m if the value of the first
sub-packet is equal to the value of the second sub-packet; otherwise, their value is [1m[97m0[0m. These
packets always have exactly two sub-packets.
Using these rules, you can now work out the value of the outermost packet in your BITS transmission.
For example:
- C200B40A82 finds the sum of 1 and 2, resulting in the value [1m[97m3[0m.
- 04005AC33890 finds the product of 6 and 9, resulting in the value [1m[97m54[0m.
- 880086C3E88112 finds the minimum of 7, 8, and 9, resulting in the value [1m[97m7[0m.
- CE00C43D881120 finds the maximum of 7, 8, and 9, resulting in the value [1m[97m9[0m.
- D8005AC2A8F0 produces 1, because 5 is less than 15.
- F600BC2D8F produces 0, because 5 is not greater than 15.
- 9C005AC2F8F0 produces 0, because 5 is not equal to 15.
- 9C0141080250320F1802104A08 produces 1, because 1 + 3 = 2 * 2.
[1m[97mWhat do you get if you evaluate the expression represented by your hexadecimal-encoded BITS
transmission?[0m
|