Codeforces Beta Round 28(Codeforces 格式)
A
Bender 问题
Bender Problem
Codeforces
1600
原题
←B →

Bender 问题AI (CI翻译)

Robot Bender decided to make Fray a birthday present. He drove $*n*$ nails and numbered them from $1$ to $*n*$ in some order. Bender decided to make a picture using metal rods. The picture is a closed polyline, which vertices should be nails (in the given order). The segments of the polyline should be parallel to the coordinate axes. Polyline is allowed to have self-intersections. Bender can take a rod and fold it exactly once in any place to form an angle of 90 degrees. Then he can attach the place of the fold to some unoccupied nail and attach two ends of this rod to adjacent nails. A nail is considered unoccupied if there is no rod attached to it (neither by it's end nor the by the fold place). No rod could be used twice. It is not required to use all the rods.

翻译中…

Help Bender to solve this difficult task.

翻译中…

Input

输入格式

AI (CI翻译)

The first line contains two positive integers $*n*$ and $*m*$ ($4 ≤ *n* ≤ 500, 2 ≤ *m* ≤ 500$, $*n*$ is even) — the amount of nails and the amount of rods. $*i*$-th of the following $*n*$ lines contains a pair of integers, denoting the coordinates of the $*i*$-th nail. Nails should be connected in the same order as they are given in the input. The last line contains $*m*$ integers — the lenghts of the rods. All coordinates do not exceed $10^{4}$ by absolute value. Lengths of the rods are between $1$ and $200 000$. No rod can be used twice. It is guaranteed that all segments of the given polyline are parallel to coordinate axes. No three consecutive nails lie on the same line.

第一行包含两个正整数 $*n*$ 和 $*m*$($4 ≤ *n* ≤ 500$, $2 ≤ *m* ≤ 500$,$*n*$ 为偶数),分别表示钉子和金属杆的数量。接下来的 $*n*$ 行中,第 $*i*$ 行包含两个整数,表示第 $*i*$ 枚钉子的坐标。钉子必须按照输入中的顺序连接。最后一行包含 $*m*$ 个整数,表示各根金属杆的长度。所有坐标的绝对值均不超过 $10^{4}$。金属杆的长度介于 $1$ 和 $200 000$ 之间。每根金属杆最多只能使用一次。保证给定折线的所有线段都与坐标轴平行。不存在连续三枚钉子位于同一直线上。AI (CI翻译)

Output

输出格式

AI (CI翻译)

If it is impossible to solve Bender's problem, output NO. Otherwise, output YES in the first line, and in the second line output $*n*$ numbers — $*i*$-th of them should be the number of rod, which fold place is attached to the $*i*$-th nail, or -1, if there is no such rod.

如果无法解决 Bender 的问题,输出 NO。否则,第一行输出 YES,第二行输出 $*n*$ 个数,其中第 $*i*$ 个数应为弯折处固定在第 $*i*$ 枚钉子上的金属杆编号;如果没有这样的金属杆,则输出 -1。AI (CI翻译)

If there are multiple solutions, print any of them.

如果存在多种解,输出任意一种即可。AI (CI翻译)

样例

Input #1
4 2
0 0
0 2
2 2
2 0
4 4
Output #1
YES
1 -1 2 -1
InputCopy OutputCopy
Input #2
6 3
0 0
1 0
1 1
2 1
2 2
0 2
3 2 3
Output #2
YES
1 -1 2 -1 3 -1
InputCopy OutputCopy
Input #3
6 3
0 0
1 0
1 1
2 1
2 2
0 2
2 2 3
Output #3
NO
InputCopy OutputCopy
题目信息
题号
28A
时间限制
2 s
内存限制
256 MB
标签
模拟

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(gpt-6.1-sol),如有出入请以原文为准。