#P2600. Geometrical dreams

    ID: 1601 传统题 1000ms 256MiB 尝试: 3 已通过: 1 难度: 10 上传者: 标签>计算几何Ural State University collegiate programming contest 2000

Geometrical dreams

题目描述

给定一个顺时针排列的多边形 A1A2...AnA_1A_2...A_nAn+1=A1A_{n+1} = A_1)。在每条边 AiAi+1A_iA_{i+1} 的外侧构造一个等腰三角形 AiMiAi+1A_iM_iA_{i+1},其中顶角 AiMiAi+1=αi\angle A_iM_iA_{i+1} = \alpha_i(以度为单位)。所有角度 αi\alpha_i 满足以下条件:任意非空子集的角度和不能被 360360^\circ 整除。

已知 n50n \leq 50、各点 MiM_i 的坐标以及角度 αi\alpha_i,请编写程序还原多边形顶点 AiA_i 的坐标。

输入格式

  • 第一行为整数 nn
  • 接下来 nn 行,每行两个实数,表示点 MiM_i 的坐标。
  • 最后 nn 行,每行一个角度值 αi\alpha_i(单位:度)。

输出格式

输出 nn 行,每行两个实数,表示多边形顶点 AiA_i 的坐标(按顺时针顺序)。

示例输入

3
0 2
3 3
2 0
90
90
90

示例输出

1 1
1 3
3 1

来源

Ural State University collegiate programming contest 2000