1 条题解
-
0
#include<bits/stdc++.h> using namespace std; typedef long long LL; void exgcd(LL a,LL b,LL &d,LL &x,LL &y) { if(b==0) { d=a;x=1;y=0;} else { exgcd(b,a%b,d,y,x); y-=(a/b)*x; } } int main() { LL p1,p2,d1,d2,L;scanf("%lld%lld%lld%lld%lld",&p1,&p2,&d1,&d2,&L); LL A,B,d,x,y,K; A=d2-d1;B=L;K=p1-p2;//此处不介意A的正负 exgcd(A,B,d,x,y); if(K % d!=0) printf("Impossible\n"); else { LL db=abs(B/d); x=x*K/d; x=((x%db)+db)%db; printf("%lld\n",x); } return 0; }
- 1
信息
- ID
- 3130
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 64
- 已通过
- 13
- 上传者