1063 Avoid Queen Attack | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1063

Avoid Queen Attack

Easy 时间限制 1000 ms 内存限制 262144 KB
枚举

题目详情

返回题库

题目描述

有一个由$N^2$个正方形组成的网格,网格中有N行和N列。让(i,j)表示从上往下(1≤i≤N)的第i行和从左往上(1≤j≤N)的第j列的正方形。

每个方格要么是空的,要么有一个棋子放在上面。网格上有M个棋子,k-(1≤k≤M)个棋子被放置在($a_k$,$b_k$)个方格上。

您想要将棋子放在个空格上,使其不能被任何现有棋子吃掉

放置在位置(i,j)上的棋子可以吃掉满足以下任何条件的棋子:

  • 置于行i中
  • 放在j列中
  • 放置在i+j=a+b所在的任意位置(a,b)(1≤a≤N,1≤b≤N)上
  • 放置在(a,b)(1≤a≤N,1≤b≤N)所在i−j=a−b的任意位置上

例如,放在(4,4)位置上的棋子可以吃掉下图中蓝色所示位置上的棋子:您可以将棋子放在几个位置上?


输入描述

第一行N和M,代表矩阵N*N,M代表有N个棋子

接下来M行,每行a和b,代表M个棋子的位置

输出描述

打印在不被现有棋子吃掉的情况下可以放置棋子的空方格数。

提示

样例1:

现有棋子可以吃掉下图中蓝色方格中的棋子:所以答案是2


测试样例

样例支持多行内容展示
样例1
输入
8 6
1 4
2 1
3 8
4 5
5 2
8 3
输出
2
样例2
输入
1000000000 1
1 1
输出
999999997000000002
样例3
输入
20 10
1 4
7 11
7 15
8 10
11 6
12 5
13 1
15 2
20 10
20 15
输出
77
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。