-
-
Notifications
You must be signed in to change notification settings - Fork 82
Expand file tree
/
Copy pathvik.c
More file actions
90 lines (87 loc) · 3.76 KB
/
vik.c
File metadata and controls
90 lines (87 loc) · 3.76 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <stdio.h>
char E[1<<25]=" ; } } { { } { { ; ; { } } { { ; { { { { { } ; } { { ; { { { ; { } ; ; ; { ; ; ; } } ; } { { ; } } ; } } ; ; } { ; } } { } } } } } ; { { } } } ; } } } { } ; ; ; { } ; { { { ; { ; } } { { { } { { ; ; { { } } { { ; { { { { { } ; } { { ; { { { ; { } ; ; ; ; ; } } ; } { { ; } } ; } ; ; } { ; } } } } } } } ; { { } ; ; } ; { } ; ; ; { } ; { { ; { ; } } { { { } { ; ; { { } } { { { { { { { { ; { ; { { ; { { ; ; { } ; ",
*a[40],*q=E+20,*T=E+1080;
int i=1,j,k,l,u,w,I,J,K,h,H,G,R=4,U,e[999],*p=e+5,*r,*s,*v,b[999],L[1<<16],
F=882,n[99];
FILE*f;
#define Y(a,b) (a)<(b)?(a):(b)
#define Z(a,b) (a)>(b)?(a):(b)
#define X(x,a,b)Z(a,Y(b,x))
#define O [s]
#define N [v]
#define M [r]
#define C ++
#define m :0
#define g m,
#define d u==
#define z(o) 32 O?n[X(32 O+o+(35 O-24)/256,0,59)]m
#define y(o) 32 O?8 O=z(o)m
#define x (p=e+5*34 O,2 M-3 && 2 M-5?y(0),l=p[4],a[i]=a[8+34 O],3 N=l>1?\
2*(p[3]+l):2*p[0],4 N=l>1?2*l:1,0 N=Y(2 M-9?0:9 O<<8,3 N-1) m)
#define W(t,i) (u=t[i]>>4,w=t[i]&15),
#define Q(e) ((1 N+=13200)>=5 N?1 N-=5 N, C 0 N>=3 N?0 N-=4 N m g e*6 N*q[0\
N]/34)+
#define D(b,i) T[i]==*#b&&T[i+2]==#b[1]
#define A ((unsigned char*)q)
#define V *p C=
#define S(a) V(A[a]<<8)|A[a+1],
#define P 2 M==
#define B ,putchar
#define o for(
int main(int t,char**c)
{
o; w=E[u]; C u)n[u/10]+=(w-59?w-125?w-32?1 m:2:3)<<u%10;
o t=fread(E,i,1<<24,f=fopen(c[i],"rb")),
t=D(FT,0)?R=T[3]-48,32:D(CN,1)?R=*T-48,32:D(MK,0)?32:16;
i C<t;
S(0)V(A[2]&7)-2*(A[2]&8),V A[3],S(4)S(6)q+=8) q+=22;
o H=*A,T=q+=2,q+=t>15?132:128;
k<128;
k C) G=X(G,T[k]+1,128);
o p=L; j C<R*64*G; q+=4)
o W(A,2)V*A&240|u,V i=0,V w,V A[3],k=((*A&15)<<8)|A[1],l=9<<19;
k&&i C<60;
u=k-n[i],u*u<l?p[-3]=i,l=u*u:l);
o i=1; i<t; a[8+i]=q,q+=2*e[5*i C]);
o t=6; !U; ) {
o i=0; i<R;
v=b+7*i,r=L+4*(R*(64*T[K]+J)+i),s=e+200+50*i,j=3 M&15,
I?
W(s,2 M)P 5||P 6||P 10?0 O =u?Y(0 O+u,64):Z(0 O-w,0) g
P 0?W(r,3)(u|w)?y((I%3-1?I%3-2?0:w:u)) m g
8 O=P 1?Z(113,8 O-1 O):P 2?Y(856,8 O+2 O):8 O,
P 5||P 3?l=z(0),8 O>l?8 O=Z(8 O-3 O,l):8 O<l?Y(8 O+3 O,l) m g
U|=P 11&&I==t-1,
P 13&&I==t-1?W(r,3)K C,J=10*u+w-1 g
P 14?
W(r,3)
d 6?j?I==t-1?38 O=38 O<j?J=37 O-1,38 O+1 m m:(37 O=J) g
d 9&&C 39 O==25 O?39 O=0,x g
d 12&&I==28 O?0 O=0 g
d 13&&I==e[29]?x m
m
:(
0 M?34 O=0 M,p=e+5*34 O,35 O=p[1],0 O=p[2] g
3 M?2 M O=3 M g
1 M&&(2 M-14||((3 M>>4)-13))?32 O=1 M,x g
0 O=P 12?X(3 M,0,64) m O ,
P 15?(l=3 M)?l<33?t=l:(F=110250/l) m g
P 14?
W(r,3)
j?(16+u) O=j g
8 O=d 1?Z(113,8 O-17 O):d 2?Y(856,8 O+18 O):8 O,
d 5?35 O=(j&7)-2*(j&8) g
d 9?39 O=25 O&&!1 M?x,0 m g
0 O=d 10?Y(0 O+26 O,64):d 11?Z(0 O-27 O,0):0 O,
d 14?h=30 O m m),
6 N =X(0 O,0,64),
5 N =999*8 O,
i C);
o C I>=t+t*h?I=h=0,C J>=64?J=0,U|=C K>=H m g j=F; j--; 0
B(u)B(u>>8)B(w)B(w>>8))
o i=u=w=0; i<R;
v=b+7*i,q=a[i C],q?l=Q(1)Q(4)Q(12)Q(12)Q(4)Q(1)0,
k=1<<(i&2),u+=l/k,w+=l/(k^5) m);
}
return 0;
}