游戏算法?
我有一间N * M房间的房子。我有K个敌人和R套炸弹,每套都有成本。我必须通过引爆炸弹来消灭所有敌人,因为需要很多炸弹,但总成本最低。在引爆了一组炸弹后,我们可以再次引爆同一套炸弹,爆炸后所有敌人必须向北,南,西或东方向移动。
如何才能找到这个最低总成本?
N * M <= 60并且我需要在t&lt;中找到答案。 0.95s。
我正在考虑制作一个带有初始房屋(矩阵)根和R儿童
的树对于每个孩子,继续这种扩展直到我找到一个空房子。这可能是一个解决方案吗?对我来说看起来不错,但我认为它需要超过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次