#P16986. [NWERC 2018] Circuit Board Design
[NWERC 2018] Circuit Board Design
背景
译自 NWERC 2018 C 题。
题目描述
你被 Nano Wiring Efficient Route Company(NWERC)聘用,帮助他们设计新的电路板。电路本身已经设计好了,你的任务是想出一种方法,把这些电路印制到公司买来的空白电路板上。
更具体地说,每个电路设计由若干连接点以及它们之间的一些连接构成,使得得到的图是连通的且没有环,也就是说,这个图是一棵树。
你可以把连接点放在电路板上的任意位置,并用焊接方式连接它们,使得任意两条连接线不会相交(除了在连接点处相交)。你订购的电路板相当大,因此不用担心空间不够。你的焊接精度非常高,可以认为连接线和连接点都是无限细的。
这本来会很容易,然而你的老板坚持要求每条连接都必须是一条长度恰好为 的直线(他说这是为了确保电子不需要绕弯,否则会损害设计效率)。
你很快意识到和他争论不会有结果。最快的解决办法就是按照他的要求重新蚀刻一个设计。
输入格式
输入包括:
- 一行一个整数 (),表示连接点数量。连接点编号为 到 。
- 接下来 行,每行包含两个整数 (),表示 和 之间有一条连接。
保证这些边描述的是一棵合法的树。
输出格式
输出 行,第 行包含两个实数 ,表示点 的坐标。为了保证生产可行,输出必须满足以下限制:
- 任意两个点之间的距离至少为 。
- 每条边的长度必须为 ,允许绝对误差不超过 。
- 不共享端点的两条边之间的距离至少为 。
- 坐标绝对值不得超过 。
如果存在多种合法方案,你可以输出任意一种。
5
1 2
1 3
1 4
1 5
0.0000000 0.0000000
1.0000000 0.0000000
-1.0000000 0.0000000
0.0000000 1.0000000
0.0000000 -1.0000000
5
2 1
3 1
2 4
2 5
40 40
40.7071067812 40.7071067812
41 40
41.7071067812 40.7071067812
40 41.4142135624
提示
【数据规模与约定】
具体限制见输入格式。