您的位置:首页 > 其它

高中OJ3837. 【NOIP2014模拟9.14】心灵终结

2017-01-14 16:56 274 查看

题目大意:

在N*M的棋盘上放置若干个马,要求这些马不能互相攻击,求最多能放多少个马。

正解:

设N≤M

分类讨论:

N=1:无论怎样放都不会打到其他的马,所以放满。

N=2:放最多的马,要尽量让马的攻击目标重叠。



设四个为一组,共有M div 4组。

每一组有4个,所以有(M div 4)*4个。

再加上不足一组的马,算出最终结果。

N>2:



通过观察可以发现,只要全部在黑色或白色框中填数,马就一定不能互相攻击。

所以方案数是N*M/2向上取整。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: