ParkII
HNOI Day 有一道名为 Park 的题目:给定一个 的矩阵,每个格点 都有一个可能为负数的权值 ,要求寻找一条不重复经过任何格点的回路,使回路上所有格点的权值之和最大。
小 C 对这个问题进行了修改:将矩阵中的每个格点视为一个顶点。当且仅当两个格点共享一条边,即在上下或左右方向上相邻时,称它们相邻。
请寻找一条路径,使得路径中连续的两个格点在矩阵中相邻,且每个格点至多经过一次,并最大化路径上所有格点的权值之和。路径可以只包含一个格点。
输入格式
第一行包含两个整数 ,表示矩阵的行数和列数。
接下来 行,每行包含 个整数,其中第 行的第 个整数表示 。
输出格式
输出一个整数,表示路径上格点权值之和的最大值。
样例输入
2 3
1 -2 1
1 1 1
样例输出
5
数据范围
- 对于 的数据,;
- 对于 的数据,,。
来源与许可
本题题面与测试数据整理自 BZOJ。
样例 1
输入
2 3
1 -2 1
1 1 1
输出
5