Submeter | Todas submissőes | Melhores | Voltar |
POLE - Luzes Brilhantes |
O famoso projetista de arte contemporânea Momo está preparando sua nova exibição ao ar livre. Ela consistirá de postes colocados aleatoriamente emitindo laseres na direção horizontal. Todos os laseres devem poder alcançar o laser denominado de totem T. Contudo, como os postes são colocados aleatoriamente a diferentes alturas, uma luz de laser L pode ficar escondida atrás de um poste mais alto P, se P, T e L estão alinhados e se a altura de P é maior ou igual à altura onde o poste L foi colocado.
Seu trabalho é, dada uma configuração de postes, determinar quais são os postes visíveis.
Entrada
A entrada é um arquivo contendo vários conjuntos de dados. A primeira linha de um conjunto contém um inteiro 0 < N ≤ 100000, dando o número de postes. As N linhas seguintes contêm três inteiros -100000 ≤ X ≤ 100000, 0 ≤ Y ≤ 10000, e 0 ≤ Z ≤ 10000, tais que X e Y são as coordenadas do poste e Z é a altura do poste naquela posição (X, Y). Você pode assumir que em um dado conjunto de entrada, não há dois postes nas mesmas coordenadas X e Y, a posição do totem é (0, 0) e sua altura é infinita. A entrada termina com uma linha contendo o número 0.
Saída
A saída do programa deve indicar se todas as luzes são visíveis ou não. Se algumas luzes são invisíveis a partir do laser do totem, o programa deve imprimir suas coordenadas X e Y, na ordem crescente da coordenada X e da coordenada Y. Coloque um ponto e vírgula entre as coordenadas de dois pontos que não são visíveis e coloque um ponto após as coordenadas do último ponto que não é visível. Veja o exemplo de saída para um exemplo do formato de saída esperado.
Exemplo de Entrada
3 -1 0 1 0 1 1 1 0 1 5 -1 0 1 -1 1 2 -2 2 2 -3 3 3 -4 4 2 0
Exemplo de Saída
Data set 1: All the lights are visible. Data set 2: Some lights are not visible: x = -4, y = 4; x = -2, y = 2.
Autor do Problema: David Déharbe
Adicionado por: | Wanderley Guimarăes |
Data: | 2008-07-09 |
Tempo limite: | 1s |
Tamanho do fonte: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Linguagem permitida: | Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO PERL6 PY_NBC SCALA TCL |
Origem: | Segunda Seletiva para Maratona de Programacao UFRN - 2005 |