[C] Vectores más cercanos
tiempo límite por test | 2 segundos |
memoria límite por test | 256 MB |
entrada | entrada estándar |
salida | salida estándar |
Se te da un conjunto de vectores sobre un plano, cada uno de ellos con inicio en el origen. Tu tarea es encontrar el par de vectores con el menor ángulo no orientado entre ellos.
Un ángulo no orientado es el menor de los ángulos no negativos que se forman entre dos vetores, ya sea en sentido de reloj o contrarreloj. Un ángulo no orientado siempre está entre y . Por ejemplo, dos vectores con direcciones opuestas tienen un ángulo igual a .
Entrada
La primera línea contiene un entero () - el número de vectores.
Cada i-ésima de las líneas siguientes contiene dos enteros e (, ) - las coordenas del i-ésimo vector. Los vectores están numerados de 1 a segun su orden de aparición en la entrada. Se garantiza que nunca dos vectores tendrán la misma dirección (pero aún así pueden haber con direcciones opuestas).
Salida
Imprime dos enteros y () - el par de índices de los vectores con el menor ángulo no orientado. Puedes imprimir los números en cualquier orden. Si hay más de una respuesta posible, imprime cualquiera.
Ejemplos
input:
4
-1 0
0 -1
1 0
1 1
output:
3 4
input:
6
-1 0
0 -1
1 0
1 1
-4 -5
-4 -6
output:
6 5