Pontos de sela

Pontos de sela

Médio

Introdução

Estás a planear construir uma casa na árvore num bosque perto da tua casa, para poderes ver o nascer e o pôr do sol.

Obtiveste dados de uma empresa de levantamentos topográficos local que mostram as alturas de todas as árvores em cada secção retangular do mapa. Precisas de analisar cada grelha do mapa para encontrares a árvore perfeita para a tua casa na árvore.

A melhor árvore será a mais alta em comparação com todas as outras árvores a este e a oeste, para que tenhas a melhor vista possível dos nasceres e dos pores do sol. Não gostas de subir muito, por isso a árvore perfeita será também a mais baixa entre todas as árvores a norte e a sul.

Instruções

A tua tarefa é encontrar as árvores potenciais onde podes construir a tua casa na árvore.

A empresa de dados fornece os dados em grelhas que mostram as alturas das árvores. As linhas da grelha representam a direção este-oeste, e as colunas representam a direção norte-sul.

Uma árvore aceitável será a maior da sua linha e, ao mesmo tempo, a mais pequena da sua coluna.

Uma grelha pode não ter nenhuma árvore boa. Ou pode ter uma, ou até várias.

Aqui está uma grelha que tem exatamente uma árvore candidata.

1  2  3  4

|----------- 1 | 9 8 7 8 2 | 5 3 2 4 <--- potential tree house at row 2, column 1, for tree with height 5 3 | 6 6 7 1

  • A linha 2 tem os valores 5, 3 e 1. O maior valor é 5.
  • A coluna 1 tem os valores 9, 5 e 6. O valor mais pequeno é 5.

Portanto, o ponto em [2, 1] (linha: 2, coluna: 1) é um excelente sítio para uma casa na árvore.

Editar via GitHub A ligação abre numa nova janela ou separador
Delphi Pascal Exercism

Estás pronto para começar Pontos de sela?

Inscreve-te no Exercism para aprenderes e dominares Delphi Pascal com 76 exercícios, e mentoria humana real, tudo grátis.