Encoding: (1=Fire,0=Salt) 00000: Silver-Gold 00001: Silver-Silver 00010: Silver-Copper 00011: Silver-Iron 00100: Silver-Tin 00101: Silver-Lead 00110: Gold-Gold 00111: Gold-Silver 01000: Gold-Copper 01001: Gold-Iron 01010: Gold-Tin 01011: Gold-Lead 01100: Lead-Gold 01101: Lead-Silver 01110: Lead-Copper 01111: Lead-Iron 10000: Tin-Gold 10001: Tin-Silver 10010: Tin-Copper 10011: Tin-Iron 10100: Tin-Tin 10101: Tin-Lead 10110: Iron-Gold 10111: Iron-Silver 11000: Iron-Copper 11001: Iron-Iron 11010: Iron-Tin 11011: Iron-Lead 11100: Copper-Gold 11101: Copper-Silver 11110: Copper-Copper 11111: Copper-Iron Notes: Amazingly managed to get some inspiration on the last day and shaved off 250 cycles! At first, the natural encoding I thought of was to treat the input as a binary string and the output as its equivalent base-6 string. This led to a solve using a 6-atom counting stick, where the stick is translated by 1 step every count, and every 6 counts, the upper Ravari's wheel is rotated once to change the metal in the sixes digit of the output. However, in terms of optimization, the limiting factor in the weighted sum is most likely cycles, so any solution that does the counting faster will get a higher score. In particular, the last digit of the binary string involves 16 iterations of the counting step, which is slow, especially because the counting stick possibly needs to be translated back at every iteration. In the final version, I managed to bypass this problem somewhat by realizing that one of the input binary digits can be used to partition the output space into two halves, and the remaining 4 digits can be converted into base-6. A binary string of 4 digits only requires 3 different values in the sixes place of its base-6 representation, so the upper Ravari's wheel can be split into two sets of three metals. If the binary number is 0-16, the metals used for the sixes place are {silver, gold, lead} and if the binary number is 17-31, the metals used are {tin, iron, copper}. Since any one-to-one mapping is allowed, any orientation of the Ravari's wheel should produce a valid encoding, since the solve is only dependent on the relative positions of the metals. Thanks to Haxton for hosting this year's tournament, and see you guys in the weeklies!