30pts求调,玄关
查看原帖
30pts求调,玄关
700558
williamwei楼主2024/11/28 15:25
#include <iostream>
using namespace std;
int x, y, m, n, L;
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int exgcd(int a, int b, int& x, int& y) {
	if (!b) {x = 1, y = 0; return a;}
	return y -= a / b * x, exgcd(b, a % b, y, x);
}
int main() {
	ios::sync_with_stdio(false);
	cin >> x >> y >> m >> n >> L;
	int a = n - m, b = L, c = x - y;
	if (a < 0) a = -a, c = -c;
	int g = exgcd(a, b, x, y), k = b / g;
	if (c % g) cout << "Impossible\n";
	else cout << ((c / g * x) % k + k) % k << '\n';
	return 0;
}
2024/11/28 15:25
加载中...