#eFTPPlydlt60x6705. 棋盘覆盖

棋盘覆盖

好的,这是整理好的题面,不含解题思路,只包含样例解释。


题目描述

给定一个 NNNN 列的棋盘,已知某些格子禁止放置。
求最多能在棋盘上放多少块长度为 22、宽度为 11 的骨牌,骨牌的边界与格线重合(骨牌占用两个格子),并且任意两张骨牌都不重叠。

禁止放置的格子不能放骨牌,骨牌必须完全放在棋盘内,且不能覆盖到禁止格。


输入格式

第一行包含两个整数 NNtt,其中 tt 为禁止放置的格子的数量。
接下来 tt 行,每行包含两个整数 xxyy,表示位于第 xx 行第 yy 列的格子禁止放置,行列数从 11 开始。

输出格式

输出一个整数,表示最多能放的骨牌数量。

数据范围

  • 1N1001 \le N \le 100
  • 0t1000 \le t \le 100

输入样例

8 0

输出样例

32

样例解释

N=8N=8t=0t=0(没有禁止格)。

棋盘是 8×8=648\times8=64 个格子。
每个骨牌占据 22 个格子,且骨牌可以横放或竖放。

在无障碍的 8×88\times8 棋盘上,最大骨牌放置数就是 642=32\dfrac{64}{2}=32 块(因为总格子数是偶数,且可以完全铺满)。

一种铺满的方案是:
将棋盘按国际象棋棋盘方式染色(黑白相间),则每个骨牌覆盖一黑一白。
对于 8×88\times8 棋盘,黑白格各 3232 个,可以完美匹配,因此可以放 3232 块骨牌。


输出 32