Advertisement
gruslan

Artur

Apr 15th, 2023
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.75 KB | None | 0 0
  1. n = int(input())
  2.  
  3. data_map = []
  4. x = y = 0
  5. for i in range(n):
  6.     data_map.append(list(input()))
  7.     if 'I' in data_map[-1]:
  8.         x = data_map[-1].index('I')
  9.         data_map[-1][x] = '.'
  10.         y = i
  11.  
  12.  
  13. points = {(x, y): {0}}
  14. dir = 0
  15. while True:
  16.     if dir % 2 == 0:
  17.         y += -1 if dir == 0 else 1
  18.     else:
  19.         x += 1 if dir == 1 else -1
  20.  
  21.     if dir in points.get((x, y), set()):
  22.         print('LOOP')
  23.         break
  24.  
  25.     if 0 <= x < n and 0 <= y < n:
  26.         if data_map[y][x] == 'X':
  27.             points[(x, y)] = points.get((x, y), set()) | {dir}
  28.             dir += 1 if dir != 3 else -3
  29.     else:
  30.         print('OUT', 'MINUS' if y < 0 or x < 0 else 'PLUS', end='_')
  31.         print('Y' if 0 <= x < n else 'X')
  32.         break
  33.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement