警示后人
查看原帖
警示后人
374318
hswfwkj_楼主2022/10/8 13:49
#include<bits/stdc++.h>
#define int long long
using namespace std;
int x, y;
inline int exgcd(int a, int b)
{
	if(a % b == 0)
	{
		x = 0, y = 1;
		return b;
	}
	int gcd = exgcd(b, a % b);
	int z = x; x = y; y = z - y * (a / b);
	return gcd;
}
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	int x, y, m, n, l;
	cin >> x >> y >> m >> n >> l;
	int a = n - m, b = l, c = x - y;
	if(a < 0) a = -a, c = -c;
	int gcd = exgcd(a, b);
	if(c % gcd != 0) cout << "Impossible";
	else cout << ((x * (c / gcd)) % (b / gcd) + (b / gcd)) % (b / gcd);
	return 0;
}

如果扩欧像我这样写不传实参,一定要注意变量重名!

被重名卡了五六次。

2022/10/8 13:49
加载中...