题目 30163

高斯整数最大公约数

查看题解 ↗GitHub ↗如何评测
题号
30163
时间限制
10000 ms
内存限制
1024 MB
标签
数学数论
来源
Library Checker (yosupo06) - gcd_of_gaussian_integers

【题目描述】

本题中 ii 表示虚数单位。

给定高斯整数 a1+b1ia_1+b_1i 和 a2+b2ia_2+b_2i,求它们的一个最大公约数。

高斯整数及其最大公约数的定义如下:

  • Z[i]={a+bi∣a,b∈Z}\mathbb{Z}[i] = \lbrace a+bi\mid a,b\in \mathbb{Z}\rbrace 中的元素称为高斯整数。

  • 对于 x,y∈Z[i]x, y \in \mathbb{Z}[i],若存在 Z[i]\mathbb{Z}[i] 中的 zz 使得 y=xzy = xz,则定义 x∣yx\mid y。

  • 高斯整数 gg 是 x,y∈Z[i]x, y\in \mathbb{Z}[i] 的最大公约数,当且仅当对任意 Z[i]\mathbb{Z}[i] 中的 zz,条件 z∣gz\mid g 与「z∣xz\mid x 且 z∣yz\mid y」等价。这样的 gg 在相差 ±1\pm 1 和 ±i\pm i 的倍数意义下唯一确定。

你需要解决 TT 组测试数据。

【输入】

文本
$T$
$a_1$ $b_1$ $a_2$ $b_2$
$\vdots$
$a_1$ $b_1$ $a_2$ $b_2$

【输出】

若 a+bia+bi 是 a1+b1ia_1+b_1i 和 a2+b2ia_2+b_2i 的一个最大公约数,则输出 aa 和 bb。

文本
$a$ $b$

【输入样例】

文本
8
8 0 6 0
0 0 0 0
0 0 4 8
4 0 6 2
1 2 3 4
1 -2 3 4
1 -3 5 -7
-344235 225420 -33882 162741

【输出样例】

文本
2 0
0 0
4 8
-2 -2
1 0
1 -2
-1 1
-456 123

对于第一组测试数据,除 2 0 外,-2 0、0 2、0 -2 也是正确答案。

【数据范围】

  • 1≤T≤1000001 \leq T \leq 100000
  • −1000000000≤a1,b1,a2,b2≤1000000000-1000000000 \leq a_1, b_1, a_2, b_2 \leq 1000000000

【来源】

Library Checker(yosupo06) gcd_of_gaussian_integers

本题为 special judge(输出任意合法解),暂不可本地评测。

数据下载

题目 30163 的公开数据

正在读取文件列表…

常用命令

题目 30163 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。