bobby


私信TA

用户名:yuncker

访问量:7292

签 名:

等  级
排  名 1564
经  验 2780
参赛次数 0
文章发表 23
年  龄 24
在职情况 学生
学  校 华东交通大学
专  业 软件

  自我简介:

解题思路:

注意事项:每行指令都是从新回到原点再走的

参考代码:

#判断每走一步的结果
def check(x,y,lab):
    if x>=len(lab) or x<0 or y>=len(lab[0]) or y<0:
        print('I am out!')
        return False
    elif lab[x][y]=='.' or lab[x][y]=='S':
        return True
    elif lab[x][y]=='#':
        print('I am dizzy!')
        return False
    elif lab[x][y]=='T':
        print('I get there!')
        return False

#测试样例数
T=int(input())
for _ in range(T):
    #迷宫规模
    N=int(input().strip())
    #迷宫
    lab=[list(input().strip()) for _ in range(N)]
    #指令数
    Q=int(input().strip())
    a,b=-1,-1
    for i in range(len(lab)):
        if 'S' in  lab[i]:
            a_temp,b_temp=i,lab[i].index('S')
     #指令
    ins=[list(input().strip()) for _ in range(Q)]
    for j in range(len(ins)):
        a,b=a_temp,b_temp
        for k in range(len(ins[j])):
            if ins[j][k]=='D':
                a+=1
                if not check(a,b,lab):
                    break
                
            if ins[j][k]=='U':
                a-=1
                if not check(a,b,lab):
                    break
                
            if ins[j][k]=='R':
                b+=1
                if not check(a,b,lab):
                    break
                
            if ins[j][k]=='L':
                b-=1
                if not check(a,b,lab):
                    break
            if lab[a][b]!='T'and k==len(ins[j])-1:
                print('I have no idea!')


 

0.0分

0 人评分

  评论区

  • «
  • »