QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 512 MB Total points: 100

#12223. 巴拿赫

Statistics

Stefan、David 和 Felix 正在准备一场 ACM 风格的编程竞赛。Stefan 提出了以下任务:

给定平面上的 $N$ 个点和 $N$ 个运动向量,找到向量与点之间的一一对应关系,使得如果将每个点按对应的向量进行移动(平移),任意两点之间的距离都不会减小。

David 很快就解决了这个问题,并声称它太简单了,不适合放入题集中。为了说服他,Felix 提出了以下更新:在所有可能的方案中,选择使得所有结果两两距离的平方和最大的那一个。

David 仍然觉得这个问题很简单,你同意吗?

输入格式

第一行包含一个整数 $N$,表示点和向量的数量 ($1 \le N \le 500$)。 接下来的 $N$ 行描述点。每行包含两个整数 $px_i$ 和 $py_i$ ($0 \le |px_i|, |py_i| \le 10\,000$)。 随后是 $N$ 行向量描述。每个向量由两个整数 $vx_i$ 和 $vy_i$ 定义 ($0 \le |vx_i|, |vy_i| \le 10\,000$)。

输出格式

如果存在一种建立一一对应关系的方法,使得所有两点间的距离都不会减小,则在输出的第一行打印 “Yes”。在下一行,打印 $N$ 个从 $1$ 到 $N$ 的不同整数,其中第 $i$ 个数字表示分配给第 $i$ 个点的向量编号。

请务必选择使所有结果两两距离的平方和最大的答案。如果仍有多个答案,输出其中任意一个即可。

如果无法满足所需条件,则在输出的单行中打印 “No”。

样例

样例输入 1

2
0 0
1 0
2 0
-2 0

样例输出 1

Yes
2 1

样例输入 2

2
2 2
2 2
-1 -1
-1 -1

样例输出 2

Yes
1 2

样例输入 3

3
-2 -3
3 1
-3 -3
-3 5
-2 -4
4 -1

样例输出 3

Yes
2 3 1

说明

在第一个样例中,点和向量之间只有两种可能的对应方式。在两种对应方式 “1 2” 和 “2 1” 中,任意两点间的距离都不会减小。在第一种情况下,所有结果两两距离的平方和等于 $9$,而在第二种情况下等于 $25$。因此,唯一正确的答案是 “2 1”。

在第二个样例中,同样只有两种可能的对应方式。在这两种情况下,任意两点间的距离都不会减小,且所有结果两两距离的平方和等于 $0$。因此,两个答案都是正确的。

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.