社区讨论

AC但不理解

P1516青蛙的约会参与者 1已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mlix2lj8
此快照首次捕获于
2026/02/12 11:46
上周
此快照最后确认于
2026/02/14 18:55
5 天前
查看原帖
RT,为什么最后是mod B/d而不是B?
CPP
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll A,B,C,a,b,m,n,x,y,L;
ll exgcd(ll a,ll b,ll &x,ll &y){
	if(b==0){
		x=1,y=0;
		return a;
	}
	ll px,py;
	ll d=exgcd(b,a%b,px,py);
	x=py;
	y=px-a/b*py;
	return d;
}
int main(){
	while(cin >> a >> b >> m >> n >> L){
		A=n-m,B=L,C=a-b;
		ll d=exgcd(A,B,x,y);
		if(C%d!=0) cout << "Impossible\n";
		else{
			x*=(C/d);
			if(x<0) x+=(-x/B+1)*B;
			cout << x%(B/d) << "\n";
		}
	}
	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...