luogu P1495 曹冲养猪(中国剩余定理)
题意
题解
翻到了一个金句
就跟这句话说得一样,就是个裸题。
所以看模板呗。
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 const long long N=20; 8 long long n,x,y,a[N],b[N],m,ans; 9 long long exgcd(long long a,long long b,long long &x,long long &y){ 10 if(b==0){ 11 x=1;y=0; 12 return a; 13 } 14 long long tmp=exgcd(b,a%b,x,y); 15 long long z=x; 16 x=y;y=z-(a/b)*y; 17 return tmp; 18 } 19 int main(){ 20 scanf("%lld",&n); 21 m=1; 22 for(long long i=1;i<=n;i++){ 23 scanf("%lld%lld",&a[i],&b[i]); 24 m*=a[i]; 25 } 26 for(long long i=1;i<=n;i++){ 27 x=y=0; 28 exgcd(a[i],m/a[i],x,y); 29 ans+=(m/a[i])*b[i]*y; 30 } 31 ans=(ans%m+m)%m; 32 printf("%lld",ans); 33 return 0; 34 }