Racha Cuca

RESPOSTA DO PUZZLE INFORMÁTICO

A primeira coisa a fazer para resolver o problema é examinar qual o universo de caracteres. O problema deu um dica, e se você tivesse a paciência de contar, veria: 24 espaços, 23 As, 22 Os, 21 Es, 20 Rs, 19 Ss, 18 Ps, 17Ms 16 Cs, 15 Ds, 14Is, 13 Us, 12Ts 11Bs. 10Ls, 9Ns, 8 Fs, 6Qs, 6Gs, 5Hs, 4Js, 3Vs, 2Xs e 1Z.

Com estes dados, podemos começar a montar a árvore> Escolhemos as duas menores freqüência, que são X e Z . Então, o nó 1 tem X à esquerda e o Z à direita. O nó 1 tem freqüência 3. Agora as duas menores freqüências são o nó 1 e a letra V. Os dois criam o nó 2, com freqüência 6. O próximo e o nós 3 que tem o H a esquerda e o J à direita, com freqüência 9. O próximo é o 4, que tem o nó 2 à esquerda e a letra G à direita.

E assim por diante. A árvore completa fica como está na figura 1 a seguir.

FIG 1 Árvore de Huffman do Puzzle

O dicionário completo de (de) codificação é:

A=0001
B=00000
C=1011
D=1101
E=0101
F=11000
G=00001
H=100000
I=1110
J=100001
L=01001
M=1010
N=10001
O=0011
P=1001
Q=11001
R=0110
S=0111
T=00001
U=1111
V=0000001
X=00000000
Z=00000001

Agora necessitamos converter para binário a mensagem recebida que foi:

B3 6E 34 94 4C 44 64

D8 55 C2 43 44 62 1E

8C 04 32 B1 72 D3 15

A1 41 05 58 53 02 8D

9D 0F D0 C9 B3 28 54

Convertendo fica:

1011 0011 0110 1110 0011

0100 1001 0100 0100 1100

0100 0100 0110 0100

1101 1000 0101 0101 1100

0010 0100 0011 0100 0100

0110 0010 0001 1110

1000 1100 0000 0100 0011

0010 1011 0001 0111 0010

1101 0011 0001 0101

1010 0001 0100 0001 0000

0101 0101 1000 0101 0011

0000 0010 1000 1101

1001 1101 0000 1111 1101

0000 1100 1001 1011 0011

0010 1000 0101 0100

1011 (C) 0011 (0) 0110 (R)

1110 (I) 0011 (0) 01001 (L)

0010 (A)

10001 (N) 0011 (0) 0010 ( )

0010 ( ) 0010 ( ) 1001 (P)

0011 (0)

0101 (R) 0001 ( ) 0101 (E)
0111 (S) 00001 (T) 0010 (A)

0001 ( )

1010 (M) 0010 (A) 0011 (0)

0001 ( ) 00001 (T) 1110 (I)

10001 (N)

100000 (H) 0010 (A) 0001

( ) 1001 (P) 0101 (E) 10001

(N) 0111 (S)

0010 (A) 1101 (D) 0011 (0)

0001 ( ) 0101 (E) 1010 (M)

0001 ( )

01000 (B) 0010 (A) 00001 (T)

0101 (E) 0110 (R) 0001 ( )

01001 (L)

100000 (H) 0101 (E) 0001

( ) 1011 (C) 0011 (0) 1010

(M) 0001 ( )

1111 (U) 1010 (M) 0001 ( )

1001 (P) 0011 (0) 0110 (R)

0110 (R)

0101 (E) 00001 (T) 0101 (E)
+2 bits zero (stuffing)

E a frase buscada é da obra CORIOLANO, e é: POR ESTA MÃO TINHA PENSADO EM BATER-LHE COM UM PORRETE.