A1816 | 统计线段上格点的数量
时间限制2s
内存限制512MB
通过 / 提交0/0
题目描述
时间限制:2000ms
内存限制:512MB
给定平面上两点 $A(x_A, y_A)$ 和 $B(x_B, y_B)$,统计线段 $AB$ 上的 $\bf{格点}$ 数量。
$\bf{格点}$ 即横纵坐标均为整数的点。即点 $P(x, y), x, y \in \mathbb{Z}$。
$\bf{每个测试文件包含 T 个测试用例。}$
$\large{数据范围}$
- $1 \le T \le 1000$
- $-10^9 \le x_A, y_A, x_B, y_B \le 10^9$
输入格式
每个测试文件格式如下:
$Testcase_1$
$Testcase_2$
$\vdots$
$Testcase_T$
对于每个 $Testcase$ 格式如下:
$T$
$Testcase_1$
$Testcase_2$
$\vdots$
$Testcase_T$
对于每个 $Testcase$ 格式如下:
$x_A$ $y_A$ $x_B$ $y_B$
输出格式
对于每个 $Testcase$ 在单独的一行中输出答案。
输入输出样例
输入 #1
4 1 8 7 5 1 8 3 7 1 1 1 1 -10 2 14 38
输出 #1
4 2 1 13
测试用例 $1$:
如下图所示线段 $AB$ 上共有 $4$ 个格点:$(1, 8), (3, 7), (5, 6), (7, 5)$。

如下图所示线段 $AB$ 上共有 $4$ 个格点:$(1, 8), (3, 7), (5, 6), (7, 5)$。

C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?