starting day 19

This commit is contained in:
sejo 2021-12-20 23:05:17 -06:00
parent c85d898254
commit 82def2ae0b
2 changed files with 58 additions and 0 deletions

44
19/19.awk Normal file
View File

@ -0,0 +1,44 @@
function abs(n){
return (n>=0) ? n : -n
}
function diff(s1, s2){
split(s1,a1,",")
split(s2,a2,",")
sr = ""
for(i in a1)
sr = sr abs(a1[i]-a2[i]) (i<3? "," : "")
return sr
}
function similar(d1, d2){
split(d1,a1,",")
split(d2,a2,",")
if(a1[1]==a2[1] && a1[2]==a2[2] && a1[3]==a2[3]) return 1
if(a1[1]==a2[1] && a1[2]==a2[3] && a1[3]==a2[2]) return 2
if(a1[1]==a2[2] && a1[2]==a2[1] && a1[3]==a2[3]) return 3
if(a1[1]==a2[2] && a1[2]==a2[3] && a1[3]==a2[1]) return 4
if(a1[1]==a2[3] && a1[2]==a2[1] && a1[3]==a2[2]) return 5
if(a1[1]==a2[3] && a1[2]==a2[2] && a1[3]==a2[1]) return 6
return -1
}
BEGIN{
}
NR%2==1{
s1 = $0
next
}
{
r = diff(s1,$0)
diffs[++diffsp] = r
}
END{
print diffsp
for(i=1; i<diffsp; i++){
print diffs[i], diffs[i+1],similar( diffs[i], diffs[i+1] )
}
}

14
19/Makefile Normal file
View File

@ -0,0 +1,14 @@
1t:
awk -f 19.awk test
1i:
awk -f 19.awk input
2t:
awk -f 19_2.awk test
2i:
awk -f 19_2.awk input
paste:
xclip -sel c -o > test