2021.3.10阿里面试题

在这里插入图片描述
在这里插入图片描述

'''
获得第一行 n   m   k
'''
temp=input()
templist=temp.split(" ")
n=int(templist[0])
m=int(templist[1])
k=int(templist[2])
'''
获得城市二维列表
'''
city=[]
for i in range(n):
    temp = input()
    templist = list(temp)
    if '@' in templist:     #找到起始位置,然后记录下标,并改成. 方便后面计算
        j=templist.index('@')
        position=[i,j]
        templist[j]='.'
    city.append(templist)
# print(position)

'''
开始走路开车
'''
for i in range(k):
    temp = input()

    if temp == 'EAST':
        j = position[1]  #往东走,列往上加
        while 1:
             j = j + 1   #往东走一步
             if j>m-1 :  #超范围?
                 break
             if city[position[0]][j]=='#': #遇到墙?
                break
             position[1] = j

    if temp == 'WEST':
        j = position[1]
        while 1:
            j = j - 1  #往西走一步
            if j < 0 :  #超范围?
                break
            if city[position[0]][j] == '#': #遇到墙?
                break
            position[1] = j


    if temp == 'SOUTH':
        i = position[0]
        while 1:
            i = i + 1   #往南走一步
            if i > n-1: #超范围?
                break
            if city[i][position[1]] == '#': #遇到墙?
                break
            position[0] = i

    if temp == 'NORTH':
        i = position[0]
        while 1:
            i = i - 1   #往北走一步
            if i < 0 :  #超范围?
                break
            if city[i][position[1]] == '#': #遇到墙?
                break
            position[0] = i
    # print(position)

position[0] +=1
position[1] +=1
print(position)

时间不够,还是太菜了,

posted on 2021-05-11 21:31  雾恋过往  阅读(51)  评论(0编辑  收藏  举报

Live2D