解题思路:
注意事项:每行指令都是从新回到原点再走的
参考代码:
#判断每走一步的结果 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 人评分
A+B for Input-Output Practice (VII) (C++代码)浏览:615 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |
【矩阵】 (C++代码)浏览:950 |
用筛法求之N内的素数。 (C语言代码)浏览:669 |
IP判断 (C语言代码)浏览:539 |
妹子杀手的故事 (C语言代码)浏览:1055 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:459 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:695 |
C二级辅导-阶乘数列 (C语言代码)浏览:662 |
IP判断 (C++代码)浏览:754 |