URI Online Judge | 1618
Colisão
Por Jony Teixeira de Melo, Centro Universitário do Triângulo
Brazil
Timelimit: 1
Brazil
Você recebeu a missão de verificar se o robô invadiu uma área retangular formada por quatro pontos cardeais (A,B,C e D). Serão informados os quatro pontos de um plano cardeal conforme a figura. A área será formada pela ligação dos quatro pontos da seguinte forma A-B, B-C, C-D e D-A. Será informado ainda a coordenada X,Y do robô.

Entrada
A entrada é composta de vários casos de testes. A primeira linha é formada por um número N indicando o total de casos de testes. As próximas N linhas são constituídas por 10 números inteiros (Ax, Ay, Bx, By, Cx, Cy, Dx, Dy, RX, RY) representando cada um dos vértices A, B, C e D e pela posição X, Y do robô. Cada valor é separado por um espaço em branco.
Saída
A saída deverá imprimir para cada caso de testes o número 1, se o robô estiver dentro da área (considerar as bordas da figura como parte da área da figura), e imprimir o número 0 caso contrário.
#include <cstdio>
using namespace std;
int main()
{
int n, ax, ay, bx, by, cx, cy, dx, dy, rx, ry;
scanf("%i", &n);
for (int i = 0; i < n; ++i)
{
scanf("%i %i %i %i %i %i %i %i %i %i", &ax, &ay, &bx, &by, &cx, &cy, &dx, &dy, &rx, &ry);
if(rx >= ax && rx <= bx && rx >= dx && rx <= cx && ry >= ay && ry <= dy && ry >= by && ry <= cy){
printf("1\n");
}else{
printf("0\n");
}
}
return 0;
}
0 Comentários