30167 - 骑士共存问题
时间限制 : 1 秒
内存限制 : 128 MB
在一个 n \times n 个方格的国际象棋棋盘上,马(骑士)可以攻击的棋盘方格如图所示。

棋盘上某些方格设置了障碍,骑士不得进入。对于给定的 n \times n 个方格的国际象棋棋盘和障碍标志,计算棋盘上最多可以放置多少个骑士,使得它们彼此互不攻击。
输入
第一行有 2 个正整数 n 和 m,分别表示棋盘的大小和障碍数。接下来的 m 行给出障碍的位置。每行 2 个正整数,表示障碍的方格坐标。
输出
将计算出的共存骑士数输出。
样例
输入
3 2 1 1 3 3
输出
5
提示
对于全部的测试点,保证 1 \leq n \leq 200,0 \leq m \lt n^2。
来源
网络流与线性规划24题