65 lines
816 B
Awk
65 lines
816 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(y2>y1 && x2>x1){
|
|
x=x1
|
|
for(y=y1;y<=y2;y++){
|
|
covers[x,y]++
|
|
x++
|
|
}
|
|
}
|
|
else if(y2>y1 && x2<x1){
|
|
x=x1
|
|
for(y=y1;y<=y2;y++){
|
|
covers[x,y]++
|
|
x--
|
|
}
|
|
}
|
|
else if(y2<y1 && x2>x1){
|
|
x=x1
|
|
for(y=y1;y>=y2;y--){
|
|
covers[x,y]++
|
|
x++
|
|
}
|
|
}
|
|
else if(y2<y1 && x2<x1){
|
|
x=x1
|
|
for(y=y1;y>=y2;y--){
|
|
covers[x,y]++
|
|
x--
|
|
}
|
|
}
|
|
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
|
|
}
|