-
-
Notifications
You must be signed in to change notification settings - Fork 83
Expand file tree
/
Copy pathhuffman.c
More file actions
49 lines (48 loc) · 2.37 KB
/
huffman.c
File metadata and controls
49 lines (48 loc) · 2.37 KB
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
#define x char
#define z else
#define w gets
#define r if
#define u int
#define s main
#define v putchar
#define y while
#define t " A?B?K?L?CIF?MSP?E?H?O?R?DJG?NTQ?????U?V?????X???????Z????W??Y??"
s ( ) { x* c , b[ 5 * 72 ]; u a, e , d [ 9
*9 *9 ] ; y (w ( b) ){ r ( 0 [ b] -7 *
5 ) { c = b ; y ( (* c - 6
* 7 )* * c )c = c+ 1 ; r (( -0 ) [ c ] && w ( b +
8 * 5* 3 ) && w (b +8 *5 * 6) )
{ a = 0; y ( a [ b ]
) { a [ d ] = ! ! ( a[ b] - 4 *8 ) ; a = a +
1; } y (a < 8 * 5 * 3 ) d [ ( a ++ )
] = 0 ; a = 0; y( b [
a + 8 *3 * 5 ] ) { d [ a ] = a [ d] + ! !( b[
a+ 40 * 3 ] -4 * 8) * 2 ; ++ a ; } a =
0 ; y ( a [ b + 6 * 40 ]
) {a [d ] += ! ! ( b[ a + 5 * 6 * 8 ] - 4 *
8 ) * 4; a = a + 1 ;} a= 0; y (a <3 *8
*5 ) { r ( a [ d ] ) { e
= 1 ; y ( e[ a + d] ){ * ( d+ a+ e ) = a[ d
+e - 1] +( d [ a + e ] << ( 3* e) ) ;e
= e + 1 ;} a = a +
e - 1 ; v( !! ( * ( d+
a) % ( 64 ) - 12 * 5
) + ( e
> 4 ) ?t [ e >2 ? 2 :a [ d ] ] :6 * 8 +( t [ d[
a ]/ 8 /8 ] -4 ) %( 10 ) ) ; r( ! (2 [a
+ d] + 3 [d + a ] ) ) v ( 4 * 8 )
; } a = a + 1 ; } v (5 * 2 ) ; } z {c =b ; e
= 0 ; y (* c ) { * c += - (* c > 8 * 12
) * 32 ; a = 8 * 8 ; r (* c
>= 48 &&* c<8 *8 -6) {*c =( * c + 1
) %( 5 * 2 ) + 65 ;y( --a >0 &&*
c- a[ t] ); d[ (e ++ )] =4 ;(
* ( d + (e ++) ))= 07 ;}z y(a -- >1
&&* c- t[a ]); d[ ( e = e + 1) -
1] =a %8 ;y (a /= 8) d[ (e ++
) ] = a% 8 ; ++ c ; * ( e ++ +d ) =0
;} -- e ;r ( e >0 ) {a = 1 ;
y ( a< 8 ) { c = b ;y
( c <e +b ) { v ( * ( c - b + d )& a? 6 *7
:8 * 4 ) ; c ++ ;} a= a + a ; v ( 2*
5) ; } v ( 5* 2 ) ; }} }} }