90求条!
查看原帖
90求条!
1112350
hzy_Q楼主2025/1/17 20:26

wa了最后一个点

#include<bits/stdc++.h>
using namespace std;
#define int long long
int exgcd(int a,int b,int &x,int &y)
{
	if(b==0)
	{
		x=1,y=0;
		return a;
	}
	int d=exgcd(b,a%b,x,y);
	int t=x;
	x=y;
	y=t-a/b*y;
	return d;
}
signed main()
{
	int xx,yy,m,n,l,a,d,b,x,y;
	cin>>x>>y>>m>>n>>l;
	if(m==n)
	{
		cout<<"Impossible";
		return 0;
	}
	if(n<m)
	{
		swap(n,m);
		swap(x,y);
	}
	a=(n-m);//追击距离 
	b=(x+l-y)%l;//总路程 
	d=exgcd(a,l,xx,yy);
	
	if(b%d!=0)
	{
		cout<<"Impossible";
		return 0;
	}
	xx=(b/d*((xx%l+l)%l))%l; 
	cout<<xx;
	return 0;
}
2025/1/17 20:26
加载中...