305056: CF958E3. Guard Duty (hard)

Memory Limit:256 MB Time Limit:5 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Guard Duty (hard)

题意翻译

给定平面上n个红点和n个黑点,保证互不相同,无三点共线,求一个红点到黑点的完美匹配,使得匹配之间的连线互不相交。数据保证有解。 $n\leq 10^4$

题目描述

Now that Heidi knows that she can assign Rebel spaceships to bases (recall the easy subtask), she is asking you: how exactly to do this? Now, given positions of $ N $ spaceships and $ N $ bases on a plane, your task is to connect spaceships and bases with line segments so that: - The segments do not intersect. - Such a connection forms a perfect matching.

输入输出格式

输入格式


The first line contains an integer $ N $ ( $ 1<=n<=10000 $ ). For $ 1<=i<=N $ , the $ i+1 $ -th line contains two integers $ x_{i} $ and $ y_{i} $ ( $ |x_{i}|,|y_{i}|<=10000 $ ) denoting the coordinates of the $ i $ -th spaceship. The following $ N $ lines have the same format, denoting the position of bases. It is guaranteed that no two points coincide and no three points are on the same line.

输出格式


The output should have $ N $ lines. The $ i $ -th line should contain an integer $ p_{i} $ , the index of the base to which the $ i $ -th spaceship is connected. The sequence $ p_{1},...,p_{N} $ should form a permutation of $ 1,...,N $ . It is guaranteed that a solution exists. If there are multiple solutions, you can output any one of them.

输入输出样例

输入样例 #1

4
6 6
5 1
2 4
4 0
5 4
1 2
2 1
3 5

输出样例 #1

4
1
2
3

Input

题意翻译

给定平面上n个红点和n个黑点,保证互不相同,无三点共线,求一个红点到黑点的完美匹配,使得匹配之间的连线互不相交。数据保证有解。 $n\leq 10^4$

加入题单

算法标签: