题目大意:
在N*M的棋盘上放置若干个马,要求这些马不能互相攻击,求最多能放多少个马。
正解:
设N≤M
分类讨论:
N=1:无论怎样放都不会打到其他的马,所以放满。
N=2:放最多的马,要尽量让马的攻击目标重叠。
设四个为一组,共有M div 4组。
每一组有4个,所以有(M div 4)*4个。
再加上不足一组的马,算出最终结果。
N>2:
通过观察可以发现,只要全部在黑色或白色框中填数,马就一定不能互相攻击。
所以方案数是N*M/2向上取整。