Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- R,C,A = [int(a) for a in input().split()]
- dirs = [ [-1,0],[1,0],[0,-1],[0,1]]
- dirs_name = ["UP","DOWN","LEFT","RIGHT"]
- def distance(a,b):
- return abs(a[0]-b[0]) + abs(a[1]-b[1])
- def find_pos(char,lab,kirk):
- """Trouve char dans le lab en partant de kirk"""
- tab = [[kirk[0],kirk[1]]]
- fixed = [[0 for _ in range(C)] for i in range(R)]
- while len(tab) > 0:
- point = tab.pop(0)
- for d in range(4):
- pos = [point[i]+dirs[d][i] for i in range(2)]
- # on trimballe le 1er déplacement
- if len(point) == 2:
- pos.append(d)
- else:
- pos.append(point[2])
- if not fixed[pos[0]][pos[1]]:
- c = lab[pos[0]][pos[1]]
- if c == char:
- return pos
- elif c == "." or c == "T" or c == "C":
- tab.append(pos)
- fixed[pos[0]][pos[1]] = 1
- return []
- statut = 0
- #0 : salle non atteinte, 1: salle atteinte
- cmd = [] # pos salle des commandes
- while 1:
- kirk = [int(a) for a in input().split()]
- lab = [input() for _ in range(R)]
- if statut == 0 and len(cmd) > 0 and kirk[0] == cmd[0] and kirk[1] == cmd[1]:
- statut = 1
- if statut == 0:
- pos = find_pos("C",lab,kirk)
- if len(pos) == 0:
- pos = find_pos("?",lab,kirk)
- elif len(cmd) == 0:
- cmd = [pos[0],pos[1]]
- print("salle trouvée",file=sys.stderr)
- else:
- pos = find_pos("T",lab,kirk)
- print(dirs_name[pos[2]])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement