P16283 [蓝桥杯 2026 省 Python A 组] 平面选点 题解
P16283 [蓝桥杯 2026 省 Python A 组] 平面选点
Link: https://www.luogu.com.cn/problem/P16283
题目描述
在平面直角坐标系中,固定点 A A A 为坐标原点 ( 0 , 0 ) (0, 0) (0,0)。
现在,考虑所有横坐标、纵坐标都在 0 0 0 到 2026 2026 2026 之间的整点。请你统计满足下列条件的点对 { B , C } \{B, C\} {B,C} 的数量:
- B B B 与 C C C 都是上述整点,且都不与 A A A 重合;
- B ≠ C B \neq C B=C;
- 由点 A , B , C A, B, C A,B,C 构成的三角形面积为整数。
其中,若 A , B , C A, B, C A,B,C 三点共线,则三角形面积记为 0 0 0,这种情况也计入答案。
点对 { B , C } \{B, C\} {B,C} 不区分顺序,即 { B , C } \{B, C\} {B,C} 与 { C , B } \{C, B\} {C,B} 视为同一点对。
输入格式
无
输出格式
这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
输入输出样例 #1
输入 #1
输出 #1
Solution
1. 题意
A A A 是原点, B , C B,C B,C 是横纵坐标均为 [ 0 , 2026 ] [0,2026] [0,2026] 范围的整数的点,求有多少三角形 △ A B C △ABC △ABC(三点共线的退化三角形也算)的面积是整数。
2. 分析
由原点 A ( 0 , 0 ) A(0,0) A(0,0)、 B ( x B , y B ) B(x_B,y_B) B(xB,yB)、 C ( x C , y C ) C(x_C,y_C) C(xC,yC) 组成的三角形的面积为
S = 1 2 ∣ x B y C − x C y B ∣ S = \dfrac{1}{2}|x_By_C - x_Cy_B| S=21∣xByC−xCyB∣
因此对于每一组点,只需要判断 x B y C − x C y B x_By_C - x_Cy_B xByC−xCyB 是不是偶数即可。特别的,直接四重循环那将是大约 1.69 × 10 13 1.69\times 10^{13} 1.69×1013 的规模,必须要利用奇偶性思路来分类讨论。
奇偶性表
| x B x_B xB | x C x_C xC | y B y_B yB | y C y_C yC | x B y C − x C y B x_B y_C - x_C y_B xByC−xCyB |
|---|---|---|---|---|
| 偶 | 偶 | 偶 | 偶 | 偶 |
| 偶 | 偶 | 偶 | 奇 | 偶 |
| 偶 | 偶 | 奇 | 偶 | 偶 |
| 偶 | 偶 | 奇 | 奇 | 偶 |
| 偶 | 奇 | 偶 | 偶 | 偶 |
| 偶 | 奇 | 偶 | 奇 | 偶 |
| 偶 | 奇 | 奇 | 偶 | 奇 |
| 偶 | 奇 | 奇 | 奇 | 奇 |
| 奇 | 偶 | 偶 | 偶 | 偶 |
| 奇 | 偶 | 偶 | 奇 | 奇 |
| 奇 | 偶 | 奇 | 偶 | 偶 |
| 奇 | 偶 | 奇 | 奇 | 奇 |
| 奇 | 奇 | 偶 | 偶 | 偶 |
| 奇 | 奇 | 偶 | 奇 | 奇 |
| 奇 | 奇 | 奇 | 偶 | 奇 |
| 奇 | 奇 | 奇 | 奇 | 偶 |
最后能得到答案是 5 , 277 , 593 , 321 , 988 \boxed{5,277,593,321,988} 5,277,593,321,988。
print(5277593321988)
更多推荐


所有评论(0)