明星还是流星?解决方案?

时间:2014-05-15 21:55:35

标签: java graph path-finding a-star flow

游戏算法?

我有一间N * M房间的房子。我有K个敌人和R套炸弹,每套都有成本。我必须通过引爆炸弹来消灭所有敌人,因为需要很多炸弹,但总成本最低。在引爆了一组炸弹后,我们可以再次引爆同一套炸弹,爆炸后所有敌人必须向北,南,西或东方向移动。

如何才能找到这个最低总成本?

N * M <= 60并且我需要在t&lt;中找到答案。 0.95s。

我正在考虑制作一个带有初始房屋(矩阵)根和R儿童

的树
  • 爆炸后的房子1炸弹1和敌人移动(如果敌人没有死,我们把它放在所有4方向)
  • 爆炸后的房子2炸弹2等等。

对于每个孩子,继续这种扩展直到我找到一个空房子。这可能是一个解决方案吗?对我来说看起来不错,但我认为它需要超过1秒。

示例输入:

N M K R 哪里: N - 行数 M - 列数 K - 敌人数量 R - 炸弹套数

接下来的K行:K个敌人的位置pX pY

下一个R行:Ci Ri x1 y1 ... xri yri 哪里 Ci - 集合成本i Ri - 炸弹数量(房间) xi,yi - 炸弹的协调员(房间)

4 3 2 2
1 1
2 1
5 4 0 1 1 0 1 2 2 1
20 4 1 1 2 0 2 2 3 1

答案是10,因为我们选择Set 1,成本为5,2次

0 个答案:

没有答案