advent-of-code/12021/13/13.awk

40 lines
466 B
Awk

BEGIN{ RS = "" }
NR==1{
for(i=1;i<=NF;i++) m[i] = $i
}
NR==2{
for(i=1;i<=NF;i++){
if($i~"x" || $i~"y") f[fp++] = $i
}
}
END{
fi = 0
print f[fi]
for(i in m){
split(m[i],arr,",")
x = arr[1]
y = arr[2]
if(f[fi]~"x"){
fx = f[fi]
sub("x=","",fx)
if(x-fx>0){
x = 2*fx-x
}
}
else if(f[fi]~"y"){
fy = f[fi]
sub("y=","",fy)
if(y-fy>0){
y = 2*fy-y
}
}
if(!p[x,y]){
p[x,y] = 1
nm[j++] = x "," y
}
}
print j
}