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 a1,b1,a2,b2,A,B,X,Y,K,d; int n;scanf("%d",&n); bool bk=true; scanf("%lld%lld",&a1,&b1); for(int i=2; i<=n; i++) { scanf("%lld%lld",&a2,&b2); A=a1;B=a2;K=b2-b1; exgcd(A,B,d,X,Y); if( K % d!=0) bk=false; LL dx=abs(B/d),dy=abs(A/d); X= X*(K/d); X= ( X % dx+dx)%dx; b1= a1*X + b1; a1= a1/d * a2; } if( bk==false) printf("no solution!\n"); else printf("%lld\n",b1); return 0; }
- 1
信息
- ID
- 21
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 105
- 已通过
- 33
- 上传者