Advertisement
pacho_the_python

02. Martian Explorer

Jun 2nd, 2022
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.38 KB | None | 0 0
  1. from collections import deque
  2.  
  3. size = 6
  4.  
  5. matrix = []
  6. water = 0
  7. metal = 0
  8. concrete = 0
  9.  
  10. for _ in range(size):
  11.     matrix.append(list(input().split()))
  12.  
  13. rover_row = 0
  14. rover_col = 0
  15.  
  16. for row in range(size):
  17.     for col in range(size):
  18.         if matrix[row][col] == "E":
  19.             rover_row = row
  20.             rover_col = col
  21.  
  22.  
  23. directions = deque(input().split(", "))
  24.  
  25. while directions:
  26.     current_direction = directions.popleft()
  27.     if current_direction == "right":
  28.         rover_col += 1
  29.         if rover_col == size:
  30.             rover_col = 0
  31.         if matrix[rover_row][rover_col] == "W":
  32.             water += 1
  33.             print(f"Water deposit found at ({rover_row}, {rover_col})")
  34.         elif matrix[rover_row][rover_col] == "M":
  35.             metal += 1
  36.             print(f"Metal deposit found at ({rover_row}, {rover_col})")
  37.         elif matrix[rover_row][rover_col] == "C":
  38.             concrete += 1
  39.             print(f"Concrete deposit found at ({rover_row}, {rover_col})")
  40.         elif matrix[rover_row][rover_col] == "R":
  41.             print(f"Rover got broken at ({rover_row}, {rover_col})")
  42.             break
  43.  
  44.     elif current_direction == "left":
  45.         rover_col -= 1
  46.         if rover_col < 0:
  47.             rover_col = size - 1
  48.         if matrix[rover_row][rover_col] == "W":
  49.             water += 1
  50.             print(f"Water deposit found at ({rover_row}, {rover_col})")
  51.         elif matrix[rover_row][rover_col] == "M":
  52.             metal += 1
  53.             print(f"Metal deposit found at ({rover_row}, {rover_col})")
  54.         elif matrix[rover_row][rover_col] == "C":
  55.             concrete += 1
  56.             print(f"Concrete deposit found at ({rover_row}, {rover_col})")
  57.         elif matrix[rover_row][rover_col] == "R":
  58.             print(f"Rover got broken at ({rover_row}, {rover_col})")
  59.             break
  60.  
  61.     elif current_direction == "down":
  62.         rover_row += 1
  63.         if rover_row == size:
  64.             rover_row = 0
  65.         if matrix[rover_row][rover_col] == "W":
  66.             water += 1
  67.             print(f"Water deposit found at ({rover_row}, {rover_col})")
  68.         elif matrix[rover_row][rover_col] == "M":
  69.             metal += 1
  70.             print(f"Metal deposit found at ({rover_row}, {rover_col})")
  71.         elif matrix[rover_row][rover_col] == "C":
  72.             concrete += 1
  73.             print(f"Concrete deposit found at ({rover_row}, {rover_col})")
  74.         elif matrix[rover_row][rover_col] == "R":
  75.             print(f"Rover got broken at ({rover_row}, {rover_col})")
  76.             break
  77.  
  78.     elif current_direction == "up":
  79.         rover_row -= 1
  80.         if rover_row < 0:
  81.             rover_col = size - 1
  82.         if matrix[rover_row][rover_col] == "W":
  83.             water += 1
  84.             print(f"Water deposit found at ({rover_row}, {rover_col})")
  85.         elif matrix[rover_row][rover_col] == "M":
  86.             metal += 1
  87.             print(f"Metal deposit found at ({rover_row}, {rover_col})")
  88.         elif matrix[rover_row][rover_col] == "C":
  89.             concrete += 1
  90.             print(f"Concrete deposit found at ({rover_row}, {rover_col})")
  91.         elif matrix[rover_row][rover_col] == "R":
  92.             print(f"Rover got broken at ({rover_row}, {rover_col})")
  93.             break
  94.  
  95. if water >= 1 and metal >= 1 and concrete >= 1:
  96.     print("Area suitable to start the colony.")
  97. else:
  98.     print("Area not suitable to start the colony.")
  99.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement