CF995C.Leaving the Bar

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

For a vector v⃗=(x,y)\vec{v} = (x, y), define ∣v∣=x2+y2|v| = \sqrt{x^2 + y^2}.

Allen had a bit too much to drink at the bar, which is at the origin. There are nn vectors v1⃗,v2⃗,⋯ ,vn⃗\vec{v_1}, \vec{v_2}, \cdots, \vec{v_n}. Allen will make nn moves. As Allen's sense of direction is impaired, during the ii-th move he will either move in the direction vi⃗\vec{v_i} or −vi⃗-\vec{v_i}. In other words, if his position is currently p=(x,y)p = (x, y), he will either move to p+vi⃗p + \vec{v_i} or p−vi⃗p - \vec{v_i}.

Allen doesn't want to wander too far from home (which happens to also be the bar). You need to help him figure out a sequence of moves (a sequence of signs for the vectors) such that his final position pp satisfies ∣p∣≤1.5⋅106|p| \le 1.5 \cdot 10^6 so that he can stay safe.

对于向量 v⃗=(x,y)\vec{v} = (x, y),定义其模长为 ∣v∣=x2+y2|v| = \sqrt{x^2 + y^2}。

Allen 在位于原点的酒吧喝得有点多。现有 nn 个向量 v1⃗,v2⃗,⋯ ,vn⃗\vec{v_1}, \vec{v_2}, \cdots, \vec{v_n}。Allen 将进行 nn 次移动。由于他的方向感受损,在第 ii 次移动时,他将沿 vi⃗\vec{v_i} 或 −vi⃗-\vec{v_i} 方向移动。换言之,若他当前的位置为 p=(x,y)p = (x, y),则他将移动至 p+vi⃗p + \vec{v_i} 或 p−vi⃗p - \vec{v_i}。

Allen 不希望离家(恰好也在酒吧处)太远。你需要帮他确定一个移动序列(即为各向量选定正负号),使得其最终位置 pp 满足 ∣p∣≤1.5⋅106|p| \le 1.5 \cdot 10^6,从而保证安全。

输入格式

The first line contains a single integer nn (1≤n≤1051 \le n \le 10^5) — the number of moves.

Each of the following lines contains two space-separated integers xix_i and yiy_i, meaning that vi⃗=(xi,yi)\vec{v_i} = (x_i, y_i). We have that ∣vi∣≤106|v_i| \le 10^6 for all ii.

第一行包含一个整数 nn(1≤n≤1051 \le n \le 10^5)—— 表示移动次数。

接下来的每一行包含两个以空格分隔的整数 xix_i 和 yiy_i,表示向量 vi⃗=(xi,yi)\vec{v_i} = (x_i, y_i)。对所有 ii,满足 ∣vi∣≤106|v_i| \le 10^6。

输出格式

Output a single line containing nn integers c1,c2,⋯ ,cnc_1, c_2, \cdots, c_n, each of which is either 11 or −1-1. Your solution is correct if the value of p=∑i=1ncivi⃗p = \sum_{i = 1}^n c_i \vec{v_i}, satisfies ∣p∣≤1.5⋅106|p| \le 1.5 \cdot 10^6.

It can be shown that a solution always exists under the given constraints.

输出一行,包含 nn 个整数 c1,c2,⋯ ,cnc_1, c_2, \cdots, c_n,每个数为 11 或 −1-1。若向量 p=∑i=1ncivi⃗p = \sum_{i = 1}^n c_i \vec{v_i} 的模长满足 ∣p∣≤1.5⋅106|p| \le 1.5 \cdot 10^6,则你的解是正确的。

可以证明:在给定约束条件下,解总是存在的。

输入输出样例

  • 输入#1

    3
    999999 0
    0 999999
    999999 0

    输出#1

    1 1 -1
  • 输入#2

    1
    -824590 246031

    输出#2

    1
  • 输入#3

    8
    -67761 603277
    640586 -396671
    46147 -122580
    569609 -2112
    400 914208
    131792 309779
    -850150 -486293
    5272 721899

    输出#3

    1 1 1 1 1 1 1 -1

输入解题思路,AI测评打分。不知道怎么写?

首页