Reflexão de Espelhos

1011
Tempo Limite: 10 | Nível: 3

Descrição

Você será designado a programar uma simulação de um laser que poderá ser refletido por dois espelhos.

 

 

A simulação acontece no primeiro quadrante de um eixo cartesiano ortogonal. Um laser será emitido a partir da origem em direção ao ponto (1;1). Haverá dois espelhos representados por dois segmentos situados totalmente no primeiro quadrante. O laser se propaga em linha reta e reflete nos segmentos de forma que o ângulo de incidência é igual ao ângulo de reflexão.

O seu trabalho será dizer se o laser será refletido pelos dois espelhos ou não. A figura mostrada acima representa um caso onde ocorre as duas reflexões.


Observações:
    Caso o laser toque um dos segmentos exatamente em um de seus extremos, o laser não é refletido e não se propaga mais;

    O laser pode refletir em ambos os lados dos espelhos;

    O espelho que pode refletir o raio pela segunda vez sempre vai estar paralelo a um dos eixos cartesianos.


Entrada

A entrada é iniciada por um inteiro T, 0 < T ≤ 1000, que indica a quantidade de casos de teste a serem processados. Seguem-se T linhas cada uma contendo 8 inteiros Xa, Ya, Xb, Yb, Xc, Yc, Xd, Yd. Todos os inteiros são positivos e menores que 1000. Os inteiros indicam respectivamente as coordenadas dos pontos A, B, C e D, primeiro a coordenada horizontal e depois a coordenada vertical. Os espelhos são representados pelos segmentos AB e CD e eles podem refletir o laser independente de qual dos lados do segmento o laser atinja. Não haverá intersecção entre os dois espelhos. Caso haja dúvida, o primeiro exemplo de entrada representa o caso mostrado na figura do enunciado.


Saída

Para cada caso de teste, o programa deve imprimir uma linha contendo a letra S caso haja a reflexão do laser nos dois espelhos, ou contendo a letra N caso contrário. Vale ressaltar que pode ocorrer mais reflexões após as duas primeiras, mesmo assim nesse caso a resposta é S, só estamos interessados nas duas primeiras reflexões.


Exemplos de Entrada Exemplos de Saída

4
2 3 4 3 4 1 6 1
3 3 4 3 4 1 6 1
1 2 2 1 1 3 3 3
8 1 8 3 4 5 6 5

S
N
N
S

Efetue Login ou Cadastre-se para submeter uma solução.



Criado por Gabriel Luís Mello Dalalio (ITA) | Adaptado por erich.rodriguesf | Competição: Interfatecs 2014 1ª fase