解题思路:
注意事项:每行指令都是从新回到原点再走的
参考代码:
#判断每走一步的结果 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 人评分
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:584 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:467 |
用筛法求之N内的素数。 (C语言代码)浏览:685 |
简单的a+b (C语言代码)浏览:1024 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:755 |
一元一次方程 (C语言代码)浏览:4245 |
整除问题 (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:420 |
数列有序 (C语言代码)浏览:974 |
班级人数 (C语言代码)浏览:980 |