# Fulfilling Puzzle (solution)

## by Kai Huang

The first step is to encode each string of letters using a common puzzle encoding such that it fits into a grid of one of the given sizes. You’ll have to do a little bit of experimentation to see which combinations produce sensible grids, since all the strings are length 12. However, it should be pretty clear after getting a couple of correct grids that the results are supposed to draw letters (or parts of letters).

The string PBKEJUJWRUCE is encoded into the 10 x 6 grid using binary.

```    PB    1000000010
KE    0101100101
JU    0101010101
JW    0101010111
RU    1001010101
CE    0001100101
```

The string PCAPASVXLXLE is encoded into the 12 x 6 grid using Braille.

```              *****'***''*
PCAPAS    *'''''*'''*'
*'''''*'''*'
*'***'***'*'
VXLXLE    *'''*'''*''*
*****'***'''
```

The string RRTZXZXVTVRR is encoded into the 14 x 6 grid using ASCII.

```    RR    10100101010010
TZ    10101001011010
XZ    10110001011010
XV    10110001010110
TV    10101001010110
RR    10100101010010
```

The string VGRQUQRBRYVW is encoded into the 7 x 6 grid using Morse code.

```    VG    ***---*
RQ    *-*--*-
UQ    **---*-
RB    *-*-***
RY    *-*-*--
VW    ***-*--
```

After encoding, the 4 resulting grids should be arranged side by side into a readable message. There are only 24 arrangements, and only one arrangement causes all the 1’s and dots to draw letters, separated by single columns without 1’s and dots. The correct arrangement is shown below (0’s and dashes have been omitted for ease of reading).

```    ***   *1 1  1 1 1  1 ***** ***  *1       1
* *  * 1 1 1  1 11 1 *     *   *  1 11  1 1
**   * 1 11   1 11 1 *     *   *  1 1 1 1 1
* * ***1 11   1 1 11 * *** *** *  1 1 1 111
* * *  1 1 1  1 1 11 *   *   *  *1  1 1 1 1
*** *  1 1  1 1 1  1 ***** ***      11  1 1
```