这题我一开始一直 RE,gcd 是这么写的
ll gcd(ll a, ll b) {
if (a % b == 0) return b;
else return gcd(b, a % b);
}
然后回 CF 看了一下发现他提示我 if (a % b == 0) return b; 有问题,但是我也不知道为啥错了,因为在 b 为 0 之前函数就应该已经返回了,但是我把它改成 if (b == 0) return a; 就过了
关键是我 exgcd 一直写的
void exgcd(ll a, ll b, ll &x, ll &y) {
if (a % b == 0) x = 0, y = 1;
else exgcd(b, a % b, y, x), y -= a / b * x;
}
这里没有改过,求为啥会 RE 啊 Orz
AC:https://www.luogu.com.cn/record/153045300
RE:https://www.luogu.com.cn/record/153044926