Java、python实现啊哈算法 —— chapter3 枚举 炸弹人

2021/12/30 20:07:53

本文主要是介绍Java、python实现啊哈算法 —— chapter3 枚举 炸弹人,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

这个例子不是很难,也没有太多抽象的内容,细心就好,下面上代码

python:

import numpy
import numpy as np

global n
global map
def zhadanren():
    global n, map
    res = -1
    res_i = -1
    res_j = -1
    for i in range(n):
        for j in range(n): #从左上角第一个元素循环遍历地图中的所有元素,找到空地放置炸弹
            num = 0 #记录将炸弹放置在这一点可以消灭的敌人个数
            if map[i][j] == '.':
                x, y = i, j
                while map[x][y] != '#': #从放置炸弹的这一点往上数,计算在遇到墙之前可以消灭的敌人个数
                    x -= 1
                    if map[x][y] == 'G':
                        num += 1
                x, y = i, j
                while map[x][y] != '#':#从放置炸弹的这一点往下数,计算在遇到墙之前可以消灭的敌人个数
                    x += 1
                    if map[x][y] == 'G':
                        num += 1
                x, y = i, j
                while map[x][y] != '#':#从放置炸弹的这一点往左数,计算在遇到墙之前可以消灭的敌人个数
                    y -= 1
                    if map[x][y] == 'G':
                        num += 1
                x, y = i, j
                while map[x][y] != '#':  # 从放置炸弹的这一点往右数,计算在遇到墙之前可以消灭的敌人个数
                    y += 1
                    if map[x][y] == 'G':
                        num += 1
            else:
                continue
            if num > res:
                res = num
                res_i = i
                res_j = j
    print(res, res_i, res_j)

if __name__ == '__main__':
    global n, map
    map = []
    n = int(input('输入地图行数:'))
    for i in range(n):
        list_a = list(input('输入地图中一行:'))
        map.append(list_a)
    zhadanren()


这篇关于Java、python实现啊哈算法 —— chapter3 枚举 炸弹人的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程