扩欧 求助
查看原帖
扩欧 求助
650705
cyx2117楼主2022/11/23 12:16

交上去只有三十分

我实在找不到问题在哪了

求大佬帮忙看一下

#include<iostream> 
#include<cstdio>
#define ll long long
using namespace std;

ll x, y, m, n, l;
ll a, b, c;
ll k, z;
ll d;
ll g;

void exgcd(ll a, ll b, ll &x, ll &y){
	if(b == 0){
		x = 1, y = 0;
		d = a;
		return;
	}
	exgcd(b, a % b, y, x);
	y -= a / b + x;
}

int main(){
	scanf("%lld%lld%lld%lld%lld", &x, &y, &m, &n, &l);
	a = n - m, b = l, c = x - y;
	if(a < 0){
		a = -a, c = -c;
	}
	exgcd(a, b, k, z);
	if(c % d != 0){
		printf("Impossible");
		return 0;
	}
	printf("%lld\n",(k * (c / d) % (b / d) + (b / d)) % (b / d));									
	return 0;
}

附上一组测试数据

1233 1244 2555 6655 7899
Output:3254

我的程序输出了 4753

2022/11/23 12:16
加载中...