/TrabalhoFinal-Lab.Prog1

Trabalho final feito para conclusão do 1º período na matéria de Laboratório de Programação de Computadores 1 do curso de Engenharia da Computação no CEFET-MG Campus Divinópolis. Neste trabalho foi utilizado estruturas de decisões e de repetições, funções e vetores na linguagem C..

Primary LanguageC

Trabalho Final de Laboratório Programação de Computadores 1

Linguagem C IDE

Trabalho final feito para conclusão do 1º período na matéria de Laboratório de Programação de Computadores 1 do curso de Engenharia da Computação no CEFET-MG Campus Divinópolis. Neste trabalho foi utilizado estruturas de decisões e de repetições, funções, vetores e leitura/escita de arquivos na linguagem C.

Enunciado e observações

*Tarefa

Dado um mapa e o ponto de onde o Jack Sparrow começa sua busca, faça um programa que o ajude a determinar a menor quantidade de tempo necessário para que ele encontre todos os tesouros.

*Entrada

A entrada é constituída de vários casos de testes que são lidos em um arquivo cujo nome será informado por Jack Sparrow. A primeira linha do caso de teste contém dois números inteiros a e l que indicam a altura e a largura do mapa respectivamente em quilômetros. Para simplificar, cada ponto do mapa representa um quilômetro quadrado. As próximas a linhas contêm l caracteres, cada um descrevendo um quadrado no mapa. Cada ponto do mapa é um dos seguintes pontos:

• @ O ponto onde Jack Sparrow começa a sua busca.

• ~ Água. Os tesouros estão dentro de uma ilha e Jack Sparrow não consegue atravessar água dentro da ilha.

• # Grupos rochosos e de despenhadeiros que Jack Sparrow não consegue atravessar.

• . Terra firme, que pode ser facilmente atravessada.

• * Local onde habitam canibais. O Jack Sparrow deve ficar a pelo menos um quadrado de distância dos canibais para não correr o risco de ser capturado por eles. Note que ficar a um quadrado de distância inclui as diagonais.

• ! Indica um tesouro. Jack Sparrow só sairá da ilha após pegar todos os tesouros escondidos.

O pirata Jack Sparrow consegue andar apenas nas quatro direções cardeais, ou seja, ele não consegue andar nas diagonais. Cada movimento corresponde a uma hora.

*Saída

Para cada caso de teste seu programa deve imprimir o menor número de horas que o Jack Sparrow precisa para recolher todos os seus tesouros e voltar ao ponto de partida. Se for impossível alcançar todos os tesouros, seu programa deverá imprimir -1. Obs: Se quiser, considere que a matriz pode ter no máximo tamanho 10x10.

Sobre o Programa

  • Feito em Linguagem C
  • Plataforma Windows
  • IDE Dev-C++

Autor

Criado por Pedro Henrique Louback Campos

Aluno do 3° periodo do curso de Engenharia da Computação no CEFET-MG