CF2052G Geometric Balance

题目描述

Peter 的弟弟 Ivan 爱玩一个特别的乌龟玩具。这只乌龟生活在一个平面上,可以执行以下三种指令: - 左转 $a$ 度。 - 朝当前方向移动 $d$ 个单位距离并在路径上留下墨迹,注意同一条轨迹上的墨迹不会重复覆盖。 - 朝当前方向移动 $d$ 个单位距离但不留下痕迹。 Ivan 刚刚学会了使用指南针,所以他只会把乌龟朝八个主要方向之一旋转(旋转角度 $a$ 总是 45 的倍数)。此外,他一定执行过至少一次绘制命令。 Peter 记录了 Ivan 对乌龟的所有指令。他觉得乌龟画出的图案非常可爱。现在,Peter 想知道一个最小的正角度 $b$,以便他能进行以下操作:将乌龟移到他选择的一点,旋转 $b$ 度,然后按照原来的顺序执行所有指令。这样操作后,画出的图案和初始图案相同。你能帮助 Peter 找出这个角度吗? 请注意,如果两个图案的墨迹覆盖的位置相同,则认为这两个图案相同。

输入格式

输入的第一行是一个整数 $n\;(1 \le n \le 50000)$,表示 Ivan 下达的指令总数。 接下来的 $n$ 行是具体的指令。每一条指令是以下几种之一: - "rotate $a$"($45 \le a \le 360$),其中 $a$ 是 45 的倍数; - "draw $d$"($1 \le d \le 10^9$); - "move $d$"($1 \le d \le 10^9$)。 至少有一条指令是绘制命令,最多有 2000 条指令是绘制命令。保证平面上的任何一部分不会被墨迹重复覆盖。

输出格式

输出一个数字,表示问题的答案。可以确定答案总是存在。 **本翻译由 AI 自动生成**