/ Vijos / 讨论 / 问答 /

求助标答,自己出的题目,自己做不出来

贪心算法在一些特殊情况下无法得到全局最优解。

以辰小龙的问题为例。黑影军团正在进攻源码圣殿,她需要用最少的攻击次数将敌人全部消灭。

她的火球术每次可以消灭目标格及上下左右共5格内的所有敌人。

如果她先朝敌人最密集的(4,3)坐标发射火球,需要3次攻击才能将消灭所有敌人。

但如果她分别朝(3,2)和(5,4)坐标发射火球,只需要2次攻击就可以消灭所有敌人。

现在8*8棋盘中共有n个敌人,他们的坐标分别为(x1,y1), (x2,y2)...(xn,yn)。

请计算辰小龙最少需要几次攻击,才能消灭所有敌人? 输入数据共有n+1行

第一行有一个整数n,为敌人的数量。

接下来n行每行有2个整数,分别为第i个敌人的坐标(xi,yi)。

n<=64,0<=xi<=8,0<=yi<=8。

输出格式:

一个整数,为消灭敌人所需要的最少攻击次数。

样例:

输入:
6
3 2
3 3
4 2
4 4
5 3
5 4

输出:
2

1 条评论

  • 1