白色棋子
题目描述
设 N 为正整数。
有一个 (2N+1)×(2N+1) 的网格,行编号为 0 到 2N,列编号也为 0 到 2N。用 (i,j) 表示第 i 行第 j 列的格子。
我们有一个白色棋子,初始位于 (0,N)。
此外,有 M 个黑色棋子,第 i 个位于 (Xi,Yi)。
当白色棋子位于 (i,j) 时,可以执行以下操作之一来移动它:
- 如果 0≤i≤2N−1, 0≤j≤2N,且 (i+1,j) 上没有黑色棋子,把白色棋子移到 (i+1,j)。
- 如果 0≤i≤2N−1, 0≤j≤2N−1,且 (i+1,j+1) 上有黑色棋子,把白色棋子移到 (i+1,j+1)。
- 如果 0≤i≤2N−1, 1≤j≤2N,且 (i+1,j−1) 上有黑色棋子,把白色棋子移到 (i+1,j−1)。
黑色棋子不能移动。
求满足「通过重复执行这些操作,可以把白色棋子移到 (2N,Y)」的整数 Y 的个数。
输入格式
输入按以下格式从标准输入给出:
N M
X1 Y1
⋮
XM YM
输出格式
输出答案。
样例
2 4
1 1
1 2
2 0
4 2
3
可以按如下方式把白色棋子移到 (4,0), (4,1), (4,2):
(0,2)→(1,1)→(2,1)→(3,1)→(4,2)
(0,2)→(1,1)→(2,1)→(3,1)→(4,1)
(0,2)→(1,1)→(2,0)→(3,0)→(4,0)
另一方面,无法把它移到 (4,3) 或 (4,4)。因此,应输出 3。
1 1
1 1
0
无法把白色棋子从 (0,1) 移走。
数据范围
- 1≤N≤109
- 0≤M≤2×105
- 1≤Xi≤2N
- 0≤Yi≤2N
- (Xi,Yi)=(Xj,Yj)(i=j)
- 输入均为整数