QOJ.ac

QOJ

시간 제한: 1.0 s 메모리 제한: 128 MB 총점: 100 해킹 가능 ✓

#16947. 沼泽里的青蛙

통계

在索契筹备 2014 年奥运会期间,人们引入了黄杨木蛾(一种来自远东的小蝴蝶)。它摧毁了黄杨木林,因此树蛙现在不得不生活在沼泽中。但它们保留了跳跃后将颜色从绿色变为棕色(反之亦然)的能力。

沼泽是一个平面,其中一些点上有草墩。草墩的大小可以忽略不计,可视为平面上的点。青蛙一次跳跃可以从当前所在的草墩跳到距离不超过 $r$ 的任何其他草墩。每次跳跃后,青蛙的颜色都会变为相反的颜色。青蛙不会原地跳跃。

你需要为青蛙的每一个起始草墩(从 $1$ 到 $n$)确定:它是否可以通过若干次跳跃回到起始草墩,并在此过程中改变其颜色。

输入格式

第一行包含两个整数 $n$ 和 $r$ ($2 \le n \le 10^5, 1 \le r \le 10^9$),分别表示沼泽上的草墩数量和青蛙的跳跃距离。

接下来的 $n$ 行描述了草墩的位置。第 $i$ 行包含两个整数 $x_i$ 和 $y_i$ ($0 \le x_i, y_i \le 5 \cdot 10^8$),表示第 $i$ 个草墩的坐标。

任意两个草墩不在同一位置。

输出格式

输出一个由 $n$ 个字符组成的字符串。如果青蛙从草墩 $i$ 出发,能够回到该草墩且颜色变为相反颜色,则第 $i$ 个字符应为“1”,否则为“0”。

子任务

子任务 分值 附加限制 必要子任务
1 10 $n \le 3$
2 20 $n \le 200$ 1
3 6 $n \le 1\,000$ 1, 2
4 9 $n \le 10\,000$ 1–3
5 16 $y_i = 0$
6 5 $r \le 2$
7 5 $r \le 4$ 6
8 5 $r \le 10$ 6, 7
9 12 $(x_i - x_j)^2 + (y_i - y_j)^2 \ge \frac{r^2}{4}, i \neq j$ 6
10 12 1–9

样例

输入格式 1

6 5
4 1
4 4
1 5
5 9
9 6
10 2

输出格式 1

111000

说明

下图展示了青蛙从第一个草墩出发,通过跳跃改变颜色的过程。

第一次跳跃

第二次跳跃

第三次跳跃

结果:青蛙改变了颜色

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.