#HK4806. 「RMI 2024」Octagon
「RMI 2024」Octagon
题目描述
题目译自 Romanian Master of Informatics 2024 Day1 T2 「Octagon」
一个优雅八边形是一个凸多边形,面积不为零,且边数不超过 。它的每条边要么与坐标轴平行,要么与坐标轴成 角。所有与坐标轴平行的边长度必须是整数,而其他边的长度必须是 的整数倍。下面展示了几个优雅八边形的样例:

假设你沿着一个优雅八边形的边按逆时针顺序行走,会发现它由长度为 或 的线段组成,这些线段连接行走路径上连续的网格点。因此,这些线段可以根据方向分为 类:北、东北、东、东南、南、西南、西和西北。
现在,假设你知道了每类线段最多能使用的数量,你能构造出多少个不同的优雅八边形呢?
输入格式
输入只有一行,包含 个空格分隔的整数,分别表示北、东北、东、东南、南、西南、西、西北方向上最多可用的线段数量。
输出格式
输出一个整数,表示能构造出的优雅八边形总数,对 取模。
1 0 1 0 1 0 1 0
1
在第一个样例中,唯一可能的优雅八边形是一个 的正方形。
1 1 1 1 1 1 1 1
19
在第二个样例中,总共有 个不同的优雅八边形。
2 2 2 2 2 2 2 2
228
1 2 3 4 4 3 2 1
135
100 100 100 100 100 100 100 100
636061137
数据范围与提示
对于所有输入数据,满足:
- 用 表示输入中 个值的最大值。
- 如果一个优雅八边形可以通过平移(但不旋转)变成另一个,则认为它们相同。换句话说,两个优雅八边形相同,当且仅当它们在 个方向上使用的线段数量完全一致。
详细子任务附加限制及分值如下表所示。
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 没有对角线段可用 | ||
| 无附加限制 |