题意解析
令 X=∣xA−xB∣,Y=∣yA−yB∣X = \vert x_A - x_B \vert, Y = \vert y_A - y_B \vertX=∣xA −xB ∣,Y=∣yA −yB ∣,那么我们可以将题目转化为:求最多可以将 XXX 和 YYY 均分为多少段,使得每段的长度均为整数。
令均分的段数为 kkk,那么我们需要求的结果就是找到一个可以整除 XXX 和 YYY 的最大的 kkk。
也就是 XXX 和 YYY 的最大公约数,即 gcd(X,Y)\gcd(X, Y)gcd(X,Y)。
答案即为 gcd(X,Y)+1\gcd(X, Y) + 1gcd(X,Y)+1。
AC代码
复杂度分析
对于每个 TestcaseTestcaseTestcase 求取 XXX 和 YYY 的最大公约数时间复杂度为 O(logmax(X,Y))\mathrm{O}(\log{\max{(X, Y)}})O(logmax(X,Y))。