P1448 [NOI1998] 围巾裁剪
题目背景
NOI1998 Day2 T1
题目描述
裁缝有一块非常珍贵的丝绸围巾。可惜的是,围巾的某些部分已经被蛀虫给咬坏了。裁缝当然不愿意就这么把围巾给丢了,于是,他想把围巾给裁成两块小围巾送给他的两个女儿。自然,两块小围巾的面积之和越大越好。
这块围巾是一个正三角形,三条边被均匀地分成了 $N$ 段,即这个正三角形被均匀地分成了 $N^2$ 个单元,每个单元是一个面积为 $1$ 的正三角形。
如图所示为一个 $N=5$ 的围巾,图中带阴影的单元表示被蛀虫咬坏的部分。
从上往下看,围巾被分成了 $N$ 行:
- 第一行有 $1$ 个单元。
- 第二行有 $3$ 个单元,其中有 $2$ 个是形如 $\Delta$ 的,有 $1$ 个是形如 $\nabla$ 的(这两种三角形我们认为是形状相同的)。
- 第三行有 $5$ 个单元,其中有 $3$ 个是形如 $\Delta$ 的,有 $2$ 个是形如 $\nabla$ 的……
用坐标 $(X,Y)$ 给每个单元定位,第一行的单元的坐标为 $(1,1)$;第二行从左到右的三个单元的坐标依次为 $(2,1)$、$(2,2)$、$(2,3)$;……

围巾的剪裁条件如下:
1. 裁成的两块小围巾形状与原来的大围巾完全相同,都是正三角形;
2. 每一块小围巾里都不存在被蛀虫咬坏的部分;
3. 裁剪时必须沿着单元的边界裁剪;
4. 要求两块小围巾的面积的总和最大。
图中,最优的裁剪方法已经用粗线画了出来,面积和为 $4+9=13$。
现在需要你编一个程序来帮助裁缝解决这个问题。
输入格式
- 输入的第一行为一个整数 $N$($1\leq N\leq100$),表示这块围巾总共被分成了 $N^2$ 个单元。
- 第二行为一个整数 $M$($1\leq M\leq N^2-2$),表示这块围巾共有 $M$ 个单元被蛀虫咬坏了。
- 接下来的 $M$ 行,每一行有两个正整数 $X$ 和 $Y$,为这 $M$ 个被蛀虫咬坏的单元的坐标。
输入文件中同一行相邻两项之间用一个或多个空格隔开。
输出格式
输出文件仅含一个整数,为你所找到的裁出两块小围巾面积总和的最大值。
说明/提示
**【样例解释】**
如「题目描述」中图所示,两块小围巾面积总和的最大值为 $4+9=13$。
**【数据范围】**
- 对于 $50\%$ 的数据,$1\leq N\leq50$;
- 对于 $100\%$ 的数据,$1\leq N\leq100$,$0\leq M\leq N^2-2$,$1\leq X\leq N$,$1\leq Y\leq 2\times N-1$。
本题数据为 Windows(CRLF)格式。