Buscar

774 Snake

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <stdio.h>
struct corpo{
	int linha, coluna;
};
int main() {
 int n;
 scanf("%d", &n);
 char mapa[n][n], op, mapaFinal[n][n];
 struct corpo corpo[200];
 int i, l, c, movimentos = 0, tamanhoCorpo = 1;
 for(l = 0; l < n; l++)
 	for(c = 0; c < n; c++)
 		scanf(" %c", &mapa[l][c]);
 corpo[0].linha = n-1; corpo[0].coluna = 0;
 while(scanf(" %c", &op) != EOF){
 	movimentos++;
 	corpo[movimentos] = corpo[movimentos-1];
 	if(op == 'C')
 		corpo[movimentos].linha--;
 	else if(op == 'B')
 		corpo[movimentos].linha++;
 	else if(op == 'E')
 		corpo[movimentos].coluna--;
 	else if(op == 'D')
 		corpo[movimentos].coluna++;
 	if(mapa[corpo[movimentos].linha][corpo[movimentos].coluna] == 'o'){
 		tamanhoCorpo++;
 		mapa[corpo[movimentos].linha][corpo[movimentos].coluna] = '.';
 	}
 }
 struct corpo corpoFinal[tamanhoCorpo];
 printf("%d\n", tamanhoCorpo);
 for(i = 0; i < tamanhoCorpo; i++)
 	mapaFinal[corpo[movimentos-i].linha][corpo[movimentos-i].coluna] = '*';
 for(l = 0; l < n; l++){
 	for(c = 0; c < n; c++)
 		if(mapaFinal[l][c] != '*')
 			printf(".");
 		else
 			printf("*");
 	printf("\n");
 }
 return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes