题目描述
你需要在平面直角坐标系上进行 q 次操作。每次操作有两种,要么放置一个两条直角边平行于坐标轴的等腰直角三角形,要么查询某一个点被多少个三角形覆盖。
每个等腰直角三角形可以用四个参数 dir,x,y,len 确定,其中 dir∈[1,4] 表示三角形的方向,(x,y) 表示直角的顶点坐标,len 表示直角边的长度。
保证所有点的坐标都是整数且 ∈[1,n]。
输入格式
第一行两个整数 n,q。1≤n≤5000,1≤q≤105。
接下来 q 行,每行一个询问,每个询问的格式如下:
- 1 dir x y len,表示放置一个三角形,对于不同方向的三角形坐标点定义如下:
- dir=1:(x,y),(x+len,y),(x,y+len)
- dir=2:(x,y),(x+len,y),(x,y−len)
- dir=3:(x,y),(x−len,y),(x,y+len)
- dir=4:(x,y),(x−len,y),(x,y−len)
- 2 x y:询问该坐标点被多少个三角形覆盖。
输出格式
对于每一个询问,在一行中输出一个整数表示答案。
17 10
1 1 3 2 4
1 3 10 3 7
1 2 6 8 2
1 3 9 4 2
2 4 4
1 4 15 10 6
2 7 7
2 9 4
2 12 2
2 13 8
2
2
2
0
1