CF598C.Nearest vectors
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given the set of vectors on the plane, each of them starting at the origin. Your task is to find a pair of vectors with the minimal non-oriented angle between them.
Non-oriented angle is non-negative value, minimal between clockwise and counterclockwise direction angles. Non-oriented angle is always between 0 and π. For example, opposite directions vectors have angle equals to π.
给你平面上的一组向量,每个向量均以原点为起点。你的任务是找出夹角(无向角)最小的一对向量。
无向角是一个非负值,定义为顺时针与逆时针两个方向所成角度中的较小者。无向角的取值范围恒为 [0,π]。例如,方向相反的两个向量之间的无向角等于 π。
输入格式
First line of the input contains a single integer n (2 ≤ n ≤ 100 000) — the number of vectors.
The i-th of the following n lines contains two integers x__i and y__i (|x|, |y| ≤ 10 000, _x_2 + _y_2 > 0) — the coordinates of the i-th vector. Vectors are numbered from 1 to n in order of appearing in the input. It is guaranteed that no two vectors in the input share the same direction (but they still can have opposite directions).
输入的第一行包含一个整数 n(2≤n≤100000)—— 向量的个数。
接下来的 n 行中,第 i 行包含两个整数 xi 和 yi(∣x∣,∣y∣≤10000,且 x2+y2>0)—— 第 i 个向量的坐标。向量按输入顺序编号为 1 至 n。保证输入中任意两个向量的方向均不相同(但它们仍可能互为反向)。
输出格式
Print two integer numbers a and b (a ≠ b) — a pair of indices of vectors with the minimal non-oriented angle. You can print the numbers in any order. If there are many possible answers, print any.
输出两个整数 a 和 b(a=b)—— 即夹角(无向角)最小的一对向量的下标。你可以以任意顺序输出这两个数。若存在多个可能的答案,输出任意一个即可。
输入输出样例
输入#1
4 -1 0 0 -1 1 0 1 1
输出#1
3 4
输入#2
6 -1 0 0 -1 1 0 1 1 -4 -5 -4 -6
输出#2
6 5
输入解题思路,AI测评打分。不知道怎么写?