domingo, 28 de fevereiro de 2016

TESOUR11 - Caça ao tesouro

Olá meus amigos nerds! Hoje vamos brincar de caça ao tesouro, já que é isso que o problema TESOUR11 - Caça ao tesouro pede para fazer. Mais especificamente, dado um mapa com pistas da localização do tesouro, verificar se é possível encontrá-lo.

Solução


A bem da verdade o problema mais parece com um jogo de campo minado do que com uma caça ao tesouro.

Pense em cada pista como um conjunto de possíveis posições para o tesouro. Para que a posição do tesouro seja determinada de maneira única é necessário que a interseção desses conjuntos tenha tamanho 1. Assim, basta para cada pista calcular as possíveis posições do tesouro e fazer a interseção de todos os conjuntos.

Implementação




2 comentários:

  1. Amigo, de onde veio a variável "dentro"?

    ResponderExcluir
    Respostas
    1. É uma função que verifica se o ponto está dentro do mapa. Esqueci :P de incluir

      bool dentro(int x, int y, int n)
      {
      return x >= 0 && x < n && y >= 0 && y < n;
      }

      Excluir