CF333B Chips

题目描述

Gerald 玩如下的游戏。他有一个大小为 $n \times n$ 的棋盘,其中有 $m$ 个不同的格子是被禁用的。在游戏开始前,他需要把一些棋子放在某些边界(但不是角落)的格子上。然后在接下来的 $n-1$ 分钟里,Gerald 每分钟会把每个棋子移动到相邻的格子。他将每个棋子从其原始所在的边移动到对面的边。 如果出现以下三种情况的任意一种,Gerald 就会输掉游戏并且得分为 $0$: - 至少有一个棋子曾经落在过被禁用的格子上。 - 有至少两个棋子曾经出现在同一个格子上。 - 有至少两个棋子在同一分钟内交换了位置(例如,在一行的两个对边界格子的行上放两个棋子,如果该行长度为偶数,这种交换会在该行中间发生)。 如果没有出现上述任何一种情况,Gerald 获胜,并且获得的分数等于他放在棋盘上的棋子数量。请帮助 Gerald 获得尽可能多的分数。

输入格式

第一行包含两个用空格分隔的整数 $n$ 和 $m$($2 \leq n \leq 1000$,$0 \leq m \leq 10^{5}$)——棋盘的尺寸和被禁用的格子数量。接下来的 $m$ 行每行包含两个用空格分隔的整数。第 $i$ 行为 $x_i$ 和 $y_i$($1 \leq x_i, y_i \leq n$)——第 $i$ 个被禁用的格子的坐标。所有给定的格子都不同。 棋盘的行从上到下编号为 $1$ 到 $n$,列从左到右编号为 $1$ 到 $n$。

输出格式

输出一个整数,表示 Gerald 在本游戏中能够获得的最大分数。

说明/提示

在第一个样例中,答案为 $0$,因为无法将棋子放入角落格子。 在第二个样例中,我们可以将一个棋子放在 (1, 2)、(3, 2)、(2, 1) 或 (2, 3) 这四个格子中的任意一个,但不能放两个棋子。 在第三个样例中,我们只能将一个棋子放在 (2, 1) 或 (2, 4) 这两个格子中的任意一个。 由 ChatGPT 5 翻译