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

32 lines
456 B
Awk

{
c1 = $1
c2 = $3
split(c1,p1,",")
split(c2,p2,",")
x1 = p1[1]; y1=p1[2]
x2 = p2[1]; y2=p2[2]
# print x1, y1, x2, y2
if(x1==x2){ # horizontal
if(y2>y1){
for(y=y1;y<=y2;y++) covers[x1,y] += 1
}else{
for(y=y1;y>=y2;y--) covers[x1,y] += 1
}
}
else if(y1==y2){
if(x2>x1){
for(x=x1;x<=x2;x++) covers[x,y1] +=1
}else{
for(x=x1;x>=x2;x--) covers[x,y1] +=1
}
}
}
END{
count = 0
for(i in covers){
count += covers[i]>1
}
print count
}