题目
传送门
这是在阿尔托利亚·潘德拉贡成为英灵前的事情,她正要去拔出石中剑成为亚瑟王,在这之前她要去收集一些宝石。
宝石排列在一个n×m的网格中,每个网格中有一块价值为v(i,j)的宝石,阿尔托利亚·潘德拉贡可以选择自己的起点。
开始时刻为0秒。以下操作,每秒按顺序执行
1.在第i秒开始的时候,阿尔托利亚·潘德拉贡在方格(x,y)上,她可以拿走(x,y)中的宝石。
2.在偶数秒,阿尔托利亚·潘德拉贡周围四格的宝石会消失
3.若阿尔托利亚·潘德拉贡第i秒开始时在方格(x,y)上,则在第i+1秒可以立即移动到(x+1,y),(x,y+1),(x-1,y)或(x,y-1)上,也可以停留在(x,y)上。
求阿尔托利亚·潘德拉贡最多可以获得多少价值的宝石
INPUT
第一行给出数字N,M代表行列数.N,M均小于等于100,宝石的价值不会超过10000.下面N行M列用于描述数字矩阵
OUTPUT
输出最多可以拿到多少价值宝石
SAMPLE
INPUT
2 2
1 2
2 1
OUTPUT
4
解题报告
算是基础的最小割问题。
首先,我们取值时一定是在偶数时刻,取走一个格子的值,就不能取相邻格子的值,也就是相邻格子之间的值是不相容的。
我们想,只要取得格子相容,是一定有合法路径的,有不容的点就转化到最小割上,用总值减去割掉最小的值,就是最优解。
那么我们可以黑白染色,源点与白点相连,黑点与汇点连边,不相容的点之间连边,容量INF,跑最小割即可