题目大意
一个n*m的网格,有些点上有障碍物,放尽量少的马,使棋盘上所有无障碍物的点被马占据或控制,这里的马遵循象棋里马走日的规则。
1<=n,m<=40
题解
迭代加深的dfs或者普通bfs就可以了。
这里讲一个二分图的奇技淫巧。
将棋盘上的点分类,按x+y的奇偶性分类,发现一只马能走到的点必定与这只马所在的点奇偶性不同。我们把这些边连起来,变成一个二分图,最少的马实际上就是最小边覆盖,就等于点数-最大匹配。
一个n*m的网格,有些点上有障碍物,放尽量少的马,使棋盘上所有无障碍物的点被马占据或控制,这里的马遵循象棋里马走日的规则。
1<=n,m<=40
迭代加深的dfs或者普通bfs就可以了。
这里讲一个二分图的奇技淫巧。
将棋盘上的点分类,按x+y的奇偶性分类,发现一只马能走到的点必定与这只马所在的点奇偶性不同。我们把这些边连起来,变成一个二分图,最少的马实际上就是最小边覆盖,就等于点数-最大匹配。