社区讨论
100分UnAC求救
P1495【模板】中国剩余定理(CRT)/ 曹冲养猪参与者 5已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lzoyp8bt
- 此快照首次捕获于
- 2024/08/11 10:45 2 年前
- 此快照最后确认于
- 2024/08/11 11:49 2 年前
CPP
#include<iostream>
using namespace std;
long long n,a[20],b[20],x,y;
long long exgcd(long long a,long long b){
if(b==0){
x=1;y=0;
return a;
}
long long d=exgcd(b,a%b);
long long t=x;x=y;
y=t-a/b*y;
return d;
}long long crt(){
long long s=1,ans=0;
for(int c=1;c<=n;c++)s*=a[c];
for(int c=1;c<=n;c++){
long long m=s/a[c];
x=y=0;
exgcd(m,a[c]);
long long m1=(x%a[c]+a[c])%a[c];
ans+=m%s*m1%s*b[c]%s;
ans%=s;
}return (ans%s+s)%s;
}int main(){
cin>>n;
for(int c=1;c<=n;c++)cin>>a[c]>>b[c];
cout<<crt();
}
#subtack1一直WA
回复
共 5 条回复,欢迎继续交流。
正在加载回复...