#P1838. Banana
Banana
描述
考虑一个热带森林,它用矩阵表示。矩阵的右上角单元格坐标为 ,其他单元格的坐标由其所在的行和列决定。在某些单元格中放置了香蕉树;每个单元格最多只能有一棵香蕉树。多个香蕉树如果在水平方向或垂直方向上相邻,就会形成一个香蕉树区域。在这种区域中,猴子 CEKILI 以她闻名的敏捷度,可以很容易地从一棵香蕉树移动到另一棵香蕉树。
CEKILI 很贪心,单一区域的香蕉树不足以满足她。为了帮助她,塔尔赞打算通过将 个香蕉树区域用藤条连接起来,这样 CEKILI 就可以通过藤条从一个区域移动到另一个区域。显然,塔尔赞必须选择那些区域,使得这些 个区域的香蕉树总数最大化。
请计算塔尔赞通过连接恰好 个区域,能够获得的香蕉树的最大数量。
输入
输入的结构如下:
- 第一行包含两个整数 和 ,分别表示香蕉树的数量和可以连接的区域的数量;
- 接下来的 行,每行包含两个整数 和 ,表示第 棵香蕉树的行和列。
约束条件:
- ;
- ;
- 在评分测试中, 永远不会大于区域的数量;
- 如果两个位置是水平邻居,则它们在同一行且相邻的列;如果是垂直邻居,则它们在同一列且相邻的行。
输出
输出一行,表示通过连接 个区域,可以获得的香蕉树的最大数量。
输入数据 1
10 3
7 10
1 1
101 1
2 2
102 1
7 11
200 202
2 1
3 2
103 1
输出数据 1
9
来源
Romania OI 2002