uCoder - Sistema Antimísseis
Dois países do Oriente Médio entraram em conflito devido a uma disputa territorial. Um dos países desenvolveu um projeto para implementação de um sistema antimísseis para se defender dos ataques do país vizinho. O país já tem uma ideia de como fazer isso, eles vão usar um radar que detecta os mísseis até uma certa distância dele e, depois de detectados, eles devem ser ordenados a partir do mais próximo até o mais distante. Para implementar o sistema, o país convidou você para codificar a função de detecção do radar.
Para implementar o sistema você deve verificar qual é ordem em que os mísseis atacantes devem ser abatidos, mas isso somente para os mísseis que estiverem dentro do perímetro de alcance do sistema de defesa. As posições dos mísseis são definidas por um ponto de coordenadas inteiras X e Y para cada um dos mísseis.
A imagem abaixo apresenta um exemplo com 5 mísseis (B, C, D, E e F), onde apenas os mísseis E, F e B, nesta ordem, podem ser alcançados pelo sistema de defesa. As bordas do limite do radar também detectam os mísseis, assim como B no exemplo. Mísseis à mesma distância do radar, devem ser ordenados comparados pela ordem de leitura, sendo que o primeiro míssil lido vem primeiro na no vetor de saída.
No exemplo, o ponto A representa a posição do radar do sistema antimísseis e o raio de alcance do radar é 2.
Para a imagem apresentada os valores de entrada são iguais aos apresentados no primeiro caso de testes dos exemplos.
A primeira informação a ser lida é N (0 < N < 100), que corresponde ao número de situações de teste de entrada. Para cada situação, devem ser lidos: a posição do radar (Xa e Ya), o raio de alcance do radar (0 < R < 100), o número de misseis (0 < M < 26) a serem verificados, e uma sequência de M posições correspondentes aos mísseis no mapa. Sendo cada informação em uma linha separada. Para cada míssil, devem ser lidos 2 inteiros, Xm e Ym, indicando a posição do mesmo. Todas as posições são inteiros positivos maiores ou iguais a zero e menores que 100. As posições estão separadas por um espaço em branco.
Para cada situação consultada deve ser impressa uma linha que representa a sequência dos mísseis a serem abatidos que estão dentro do perímetro do radar em ordem de proximidade. Os mísseis que estiverem na borda limite de detecção do radar também devem ser contados. Cada míssil deve ser identificado por uma letra maiúscula começando de B. Caso um míssil esteja a mesma distância de outro míssil, o que foi lido primeiro tem precedência na saída. Todas as letras devem ser separadas por um espaço em branco, apenas entre as letras. Caso não exista nenhum míssil no radar do sistema antimísseis deve-se imprimir exatamente o texto: OUT OF RANGE.
Criado por Anderson V. de Araújo (Fatec São José dos Campos) | Adaptado por erich.rodriguesf | Competição: Interfatecs 2014 2ª fase