-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsolution.awk
More file actions
12 lines (11 loc) · 829 Bytes
/
solution.awk
File metadata and controls
12 lines (11 loc) · 829 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/awk -f
function F(y,x){x++<3&&$x-=y*e[x]F(y,x)}function How(_){print _;Big? Idk ~11:km}
function O(z){z?d+=O(z-1)(($z-a[z])^2)^.5:d=0}function s(x,y,t){split(S[x,y],t)}
function R(x,y){return++y<4?R(x,y)+$y*(!((x=c[x]-e[x])-(y=a[y]-b[y]))-!(x+y)):0}
/-+-/{T[o]=o=$3}gsub(/,/,SUBSEP=FS){for(S[o,p=r=C[o]++]=$0;p--;f[o,p]=f[o,p]d r)
f[o,r]=f[o,r](d=s(o,p,a)O(3)RS d"\40")p}END{for(L[0];D<o;)for(i in L)for(j in T)
for(J=C[j];T[j]*split(f[j,--J],A,"\012");)for(I=C[i];--I;n=0)for(k=1;$0=A[++k];)
for(K=split(f[i,I],e,$1);K>1&&++n>9;){T[j]=s(j,J,a)s(j,$2,b)s(i,I,c)s(i,+e[2],e)
for(k=C[j];k--;S[j,k]=R(1)FS R(2)FS R(3))$0=S[j,k];$0=S[i,I]s(j,J,e);L[j]=F(1)$0
for(k=C[j];k--;$0=L[j])S[j,k]=s(j,k,e)F(-1)$0;K=!++D}for(k in S)Many+=!q[S[k]]++
for(k in L){$0=L[k];for(j in L)O(split(L[j],a))+d>Big&&Big=d}How(Many);How(Big)}