QOJ.ac

QOJ

时间限制: 10 s 内存限制: 512 MB 总分: 10

#234. 多边形 [A]

统计

我们已经感到疲惫,没有灵感去构思一个带有背景故事的有趣题目。你的任务仅仅是计算满足特定条件的凸多边形的数量,这些多边形具有较短的整数边长,且边上没有额外的格点。

如果我们将多边形的顶点记为 $(x_i, y_i)$,则必须满足以下条件:

  • $1 \le x_i \le X, 1 \le y_i \le Y$
  • 顶点位于格点上(即 $x_i$ 和 $y_i$ 为整数)。
  • 多边形的任何一条边上除了顶点外,不包含其他格点。
  • 每条边的长度均为整数,且不超过 $K$。
  • 多边形是凸的、简单的、非退化的(即内角均小于 180 度,没有自交,且至少有三个顶点)。这也意味着任意三个顶点都不共线。

下图展示了一些不符合条件的多边形示例。第一个和第二个多边形的某条边上存在格点。第二个和第三个多边形不是凸的。此外,第一个和第三个多边形的某些边长不是整数。

输出满足条件的多边形数量,结果对 $2^{32}$ 取模。如果两个多边形存在一个点是其中一个的顶点但不是另一个的顶点,则认为这两个多边形不同。

输入格式

输入的第一行包含三个整数 $X, Y$ 和 $K$ ($1 \le X, Y \le 10^9, 1 \le K \le 250$),分别表示坐标的限制和边长的限制。

测试集分为以下子任务,每个子任务至少得一分。你可以假设每组测试数据至少属于以下子任务中的一个。请注意,此信息意味着不存在例如 $X = Y = K = 233$ 的测试用例,因为它不属于任何子任务。

  1. $K \le 15$
  2. $X, Y \le 150$
  3. $2000 \le X, Y \le 2400, K \le 100$
  4. $X$ 和 $Y$ 均能被 $10^6$ 整除

输出格式

输出一个整数,即满足条件的多边形数量,对 $2^{32}$ 取模。

样例

输入 1

6 5 5

输出 1

42

说明 1

对于 $X = 6, Y = 5, K = 5$ 的情况,42 个符合条件的多边形之一是顶点为 $(2, 1), (2, 2), (6, 5), (3, 1)$ 的多边形,如下图所示。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.