Problema
The x and y axes split the plane into four quadrants: Q1 (x > 0, y > 0), Q2 (x < 0, y > 0), Q3 (x < 0, y < 0) and Q4 (x > 0, y < 0). Points on an axis belong to no quadrant.
Implement point_quadrant(x, y).
Input
x: The x coordinate. y: The y coordinate.
Output
Return "Q1", "Q2", "Q3" or "Q4"; "X-axis" or "Y-axis" for points on an axis; or "Origin" for (0, 0).
Restrições
-1,000,000 ≤ x, y ≤ 1,000,000
Exemplos
Entrada:
x = -3
y = 4
Saída esperada:
expected = "Q2"
Entrada:
long long x = -3;
long long y = 4;
Saída esperada:
std::string expected = "Q2";
Entrada:
long x = -3;
long y = 4;
Saída esperada:
string expected = "Q2";
Explicação
x is negative and y is positive, so the point is in Q2.
Entrada:
x = 5
y = 0
Saída esperada:
expected = "X-axis"
Entrada:
long long x = 5;
long long y = 0;
Saída esperada:
std::string expected = "X-axis";
Entrada:
long x = 5;
long y = 0;
Saída esperada:
string expected = "X-axis";
Explicação
y is 0, so the point lies on the X-axis.
Como abordar
Tente sozinho primeiro e depois abra uma dica de cada vez.
Dica 1
Primeiro determine se o ponto está em um eixo ou na origem.
Dica 2
Se não estiver em um eixo, os sinais de x e y indicam o quadrante.
Dica 3
A origem é um caso especial, e pontos nos eixos não pertencem a nenhum quadrante.
Complexidade esperada
tempo O(1), espaço extra O(1)
Referências
Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.