To get the full 10 points, your code should avoid
hardwiring unnecessary constants, e.g., 3, 4, and 64.
If you did, modify your code so that
it relies only on the #define'd values.
If you're struggling and have spent too much time already,
there's no shame in conceding 1 point.
Rationale: you wouldn't hardwire mathematical constants
like PI = 3.14..., would you?
Even though these are biological constants, you may
still want to reuse the code for other purposes. In other
applications, you might want to extend the functions
code and
decode to index arrays with longer strings
over arbitrary alphabets, instead of just strings of length 3
over the genetic alphabet.