#P16643. [GKS 2018 #B] King's Circle
[GKS 2018 #B] King's Circle
题目描述
在 Kickstartia 王国,人们记忆所及以来,第一次到处洋溢着庆祝的气氛:新国王的加冕日到了。按照加冕仪式的惯例,皇家游行队伍将穿过首都的街道。
首都可以看作是一个无限的二维平面,其中有无穷多条无限长的街道,相互间隔 1 米,水平方向和垂直方向贯穿整个平面。水平街道从上到下用从负无穷到正无穷的整数标记,垂直街道从左到右也用从负无穷到正无穷的整数标记。
首都有 家咖啡馆,第 家位于垂直街道 与水平街道 的交汇处。没有两家咖啡馆位于同一交叉口。为了让游行技术人员感到满意且吃饱喝足,你将恰好选择三家咖啡馆,供他们在途中停留。
为了在混乱中引入一些秩序,你额外决定游行必须从起点回到终点,并且其路径必须形成一个正方形(直边,所有边长相等)。咖啡馆可以位于正方形的任意位置(边上或角上)。
这立即带来了一个问题:根据你选择的三家咖啡馆,可能无法构造出一个经过这三家咖啡馆的正方形游行路线。因此,你的任务是找出:有多少个不同的三家咖啡馆的集合,使得至少存在一个包含该集合中全部三家咖啡馆的正方形游行路线?(两个集合不同当且仅当其中一个包含另一个所没有的咖啡馆。)
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。每个测试用例由一行包含十个整数组成:、、、、、、、、 和 。
是咖啡馆的数量。第一家咖啡馆位于垂直街道 与水平街道 的交汇处。
剩余咖啡馆的位置 、( 到 )可按如下方式生成:
- $V_i = (A \times V_{i-1} + B \times H_{i-1} + C) \bmod M$
- $H_i = (D \times V_{i-1} + E \times H_{i-1} + F) \bmod M$
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始), 是满足上述条件的咖啡馆集合的数量。
3
4 1 1 4 1 1 4 2 4 5
6 3 1 1 0 1 0 1 0 9
3 7 24 34 11 17 31 15 40 50
Case #1: 3
Case #2: 20
Case #3: 0
提示
在样例 #1 中,有四家咖啡馆,分别位于 、、 和 。如图所示,存在正方形游行路线经过以下咖啡馆集合:、、;或 、、;或 、、。不存在经过 、、 这三个咖啡馆的正方形游行路线。
:::align{center}
:::
在样例 #2 中,有 家咖啡馆,分别位于 、、、、 和 。由于它们都在同一条垂直街道上,任意三个咖啡馆都存在经过它们的正方形游行路线。因此答案为 。
在样例 #3 中,有 家咖啡馆,分别位于 、、。不存在经过这三家咖啡馆的正方形游行路线,因此答案为 。
注意: 对于本题的大数据集,我们不建议使用解释型/较慢的语言。
限制条件
。
。
。
。
。
。
。
。
。
对于所有 ,。
小数据集(测试集 1 – 可见)
。
。
大数据集(测试集 2 – 隐藏)
。
。
翻译由 DeepSeek V4 Pro 完成