#P15500. [ICPC 2025 APC] Squares on Grid Lines

[ICPC 2025 APC] Squares on Grid Lines

说明

在一个二维平面上,有一个边长为 nn 的正方形,它被划分成 1×11 \times 1 的单元格网格,总计有 n2n^{2} 个单元格。

你的任务是回答 qq 个查询,查询编号为 11qq,描述如下。在第 ii 个查询中,你会得到一个实数 sis_{i},你需要计算在平面上放置四个点的方案数,使得:

  • 每个点都位于某个单元格的边界上(不必是同一个单元格),且
  • 这四个点构成一个面积为 sis_{i} 的正方形的顶点。

这里,由这些点构成的正方形的边不必与单元格的边平行。如果存在无穷多种有效放置方式,你必须报告这一情况。

如果存在一个点出现在一种放置方式中但不出现在另一种中,则认为这两种放置方式不同。

输入格式

输入的第一行包含两个整数 nnqq1n20001\le n\le 20001q1000001\le q\le 100\,000)。接下来的 qq 行中的第 ii 行包含一个实数 sis_{i}0.01sin20.01\le s_{i}\le n^{2}),小数点后恰好有两位数字。

输出格式

输出 qq 行。第 ii 行应包含第 ii 个查询的有效放置方式的数量。如果存在无穷多种,则输出 1-1

3 4
6.90
0.26
2.65
1.00
2
4
10
-1
1 5
0.49
0.50
0.51
0.99
1.00
0
1
2
2
1

提示

样例输入/输出 #1 的解释

对于查询 1122,有效的放置方式如图 I.1 所示。上方的两种放置方式对应查询 11,下方的四种放置方式对应查询 22。在每种放置方式中,阴影区域表示由这些点构成的正方形。

:::align{center}

图 I.1:样例输入 #1 的图示。 :::

翻译由 DeepSeek 完成