É importante guardar as instruções em um vetor porque existem instruções que apontam para instruções passadas. Para evitar chamar uma instrução que chama outra que chama outra e assim por diante, é bom salvar cada instrução realizada com a ação do robô em vez de uma referência. Ou seja, se uma instrução apontar para outra que faz o robô andar para esquerda, salvamos que ele foi para a esquerda.
#include<string.h>#include<stdio.h>intmain(){char palavra[10];int instrucoes[101];int T, n, posicao, instrucao;scanf("%d",&T);for(int k =0; k < T; ++k){scanf("%d",&n); posicao =0;for(int i =1; i <= n; ++i){scanf("%s",&palavra);if(!strcmp(palavra,"LEFT")){ instrucoes[i] =-1; }elseif(!strcmp(palavra,"RIGHT")){ instrucoes[i] =1; }else{scanf("%s%d",&palavra,&instrucao); instrucoes[i] = instrucoes[instrucao]; } posicao += instrucoes[i];scanf("\n"); }printf("%d\n", posicao); }return0;}