#P16752. [Nerc2024]Geometric Balance
[Nerc2024]Geometric Balance
题目描述
Peter 的弟弟 Ivan 喜欢玩一只海龟玩具。这只海龟生活在平面上,可以执行三种命令:
- 逆时针旋转 度;
- 沿当前朝向前进 个单位,并在移动过程中绘制墨迹;
- 沿当前朝向前进 个单位,但不绘制墨迹。
保证平面上的任何线段都不会被墨迹覆盖超过一次。
Ivan 最近刚学会使用指南针,因此他只会让海龟朝向八个基本方向或斜方向之一。也就是说,所有 rotate 命令中的角度 都是 的倍数。
Ivan 至少会执行一次 draw 命令。
Peter 记录了 Ivan 给海龟下达的所有命令。他觉得海龟画出的图案非常可爱,并想知道满足下列条件的最小正角度 :
- 先把海龟移动到平面上任意选定的位置;
- 再将海龟旋转 度;
- 按原顺序重新执行所有命令。
重新执行命令后得到的图案必须与原图案完全相同。
若两幅图中被墨水覆盖的点集完全相同,则认为这两幅图相同。
输入格式
第一行包含一个整数 :
表示命令数量。
接下来 行,每行是一条命令,格式为以下三种之一:
rotate a
其中 ,且 是 的倍数;
draw d
其中 ;
move d
其中 。
draw 命令至少有一条,至多有 2000 条。
保证平面上的任何线段都不会被墨迹覆盖超过一次。
输出格式
输出一个整数,表示满足要求的最小正角度 。
保证答案一定存在。
样例 1
1
draw 10
180
样例 2
7
draw 1
rotate 90
draw 1
rotate 90
draw 1
rotate 90
draw 1
90
样例 3
3
draw 1
move 1
draw 2
360