CCCPaste

martian_explorer

def moving(row, col, direction):
    if direction == "up":
        return row - 1, col

    if direction == "down":
        return row + 1, col

    if direction == "right":
        return row, col + 1

    if direction == "left":
        return row, col - 1


SIZE = 6
matrix = []
rover_row = 0
rover_col = 0
for row in range(SIZE):
    inner_list = input().split()
    for col in range(SIZE):
        if inner_list[col] == 'E':
            rover_row = row
            rover_col = col
    matrix.append(inner_list)

matrix[rover_row][rover_col] = '-'
deposits = 0
counter = 0
flag = False
while not flag:

    data = input()
    data_split = data.split(', ')
    for command in data_split:
        counter += 1
        next_row, next_col = moving(rover_row, rover_col, command)
        if next_col == -1:
            next_col = SIZE - 1

        if next_col > SIZE - 1:
            next_col = 0

        if next_row == -1:
            next_row = SIZE - 1

        if next_row > SIZE - 1:
            next_row = 0

        if matrix[next_row][next_col] == 'W':
            deposits += 1
            print(f'Water deposit found at {(next_row, next_col)}')
            rover_row, rover_col = next_row, next_col
            if len(data_split) == counter:
                flag = True
                break

        elif matrix[next_row][next_col] == '-':
            rover_row, rover_col = next_row, next_col
            if len(data_split) == counter:
                flag = True
                break

        elif matrix[next_row][next_col] == 'C':
            deposits += 1
            print(f'Concrete deposit found at {(next_row, next_col)}')
            rover_row, rover_col = next_row, next_col
            if len(data_split) == counter:
                flag = True
                break

        elif matrix[next_row][next_col] == 'M':
            deposits += 1
            print(f'Metal deposit found at {(next_row, next_col)}')
            rover_row, rover_col = next_row, next_col
            if len(data_split) == counter:
                flag = True
                break

        elif matrix[next_row][next_col] == 'R':
            print(f'Rover got broken at {(next_row, next_col)}')
            rover_row, rover_col = next_row, next_col
            flag = True
            break

if deposits >= 3:
    print(f'Area suitable to start the colony.')
else:
    print(f'Area not suitable to start the colony.')