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)
时间不够,还是太菜了,