数论萌新求助
查看原帖
数论萌新求助
214538
IceYukino楼主2020/8/28 10:26

直角三角形。

看了日报想来做一做题目,这一题推了一会儿式子写程序发现只有80分,求助一下各位大佬,看一下哪里错了:

#include<bits/stdc++.h>
using namespace std;
long long x,y,n,m,l,a,b;
void Exgcd(long long m,long long l,long long &a,long long &b){
	if(!l){
		a=1;b=0;
		return;
	}
	Exgcd(l,m%l,b,a);
	b-=(m/l)*a;
	return;
}
long long gcd(long long x,long long y){
	if(y==0) return x;
	return gcd(y,x%y);
}
int main(){
	cin>>x>>y>>m>>n>>l;
	m-=n;y-=x;
	if(y%gcd(m,l)){
		cout<<"Impossible"<<endl;
		return 0;
	}
	Exgcd(m,l,a,b);
	cout<<(a*y/gcd(m,l)+l)%l<<endl;
	return 0;
}

提供一个WA的样例:

720934988 996392308 1675670875 794994043 182443922
3987081
2020/8/28 10:26
加载中...