while True: num_lin, num_col, qtd_inst = [int(x) for x in input().split()] if num_lin == num_col == qtd_inst == 0: break # Uma lista de strings, que na prática equivale a uma matriz (coleção bidimensional) tab = [input() for _ in range(num_lin) ] instrucoes = input() # Deslocamentos (linha, coluna) que indicam a célula para onde o pacman # irá mover-se no caso da instrução ser de movimentação ('W') deltas = {'L':(0,-1), 'R':(0,+1), 'U':(-1,0), 'D':(+1,0)} # Localiza a posição (l,c) do pacman for i in range(num_lin): for j in range(num_col): if tab[i][j] == '<': l = i c = j break # Inicialmente o pacman aponta para a direita (R) sentido = 'R' # Contabiliza o nº de pastilhas comidas qtd_pastilhas = 0 for inst in instrucoes: if inst == 'W': # Se a instrução é 'W', determina a possível nova posição (nl,nc) do pacman, # mas não avança automaticamente dl, dc = deltas[sentido] nl = l + dl nc = c + dc # Verifica o que está na célua desta nova posição do pacman match tab[nl][nc]: case '#': # É uma parede: fica onde está, ou seja, não avança pass case '*': # É uma pastilha: come a pastilha e avança para (nl, nc) qtd_pastilhas += 1 l = nl c = nc case ' ': # É um espaço livre: avança para (nl, nc) l = nl c = nc else: # A instrução é de mudança de direção/sentido sentido = inst print(qtd_pastilhas)