带提交: hdu 1573 X问题(一元同余方程组)
2017-10-23 20:14
183 查看
#include<cstdio> #include<cmath> #include<algorithm> #define ll long long using namespace std; void gcd(ll a,ll b,ll &d,ll &x,ll &y){ if(!b){d=a;x=1;y=0;} else{ gcd(b,a%b,d,y,x);y-=x*(a/b);} } int n,N; ll a[100005],r[100005]; ll solve(){ //从1开始 ll M=a[1],R=r[1],x,y,d; for(int i=2;i<=n;i++){ gcd(M,a[i],d,x,y); if((R-r[i])%d!=0) return -1; x=(R-r[i])/d*x%a[i]; R-=x*M; M=M/d*a[i]; R%=M; } ll cnt=0,X=(R%M+M)%M; for(int i=0;X<N;i++){ X+=M; cnt++; } return cnt; } int main(){ int t; scanf("%d",&t); while(t--){ scanf("%d%d",&N,&n); for(int i=1;i<=n;i++) scanf("%lld",&a[i]); for(int i=1;i<=n;i++) scanf("%lld",&r[i]); printf("%lld\n",solve()); } return 0; }
相关文章推荐
- HDU 1573 X问题(一元线性同余方程组)
- HDU 1573 X问题 同余方程 竟然wa在条件 答案是正整数上。。无语
- HDU 1573 X问题 [一元线性同余方程组]【数论】
- hdu 1573 X问题(一元线性同余方程组)
- HDU 1573 X问题 求同余方程组解的个数
- Hdu 1573 X问题 + Hdu 3579 Hello Kiki (模线性方程组-非互质中国剩余定理)
- HDU 1573 X问题 (非互质情况下的中国剩余定理)
- HDU 1573 X问题(中国剩余定理)
- hdu 1573 X问题 (非互质的中国剩余定理)
- 中国剩余定理 hdu 1573 X问题
- HDU 1573 X问题 [中国剩余定理]
- Hdu 1573 X问题 拓展欧几里得 解题报告
- HDU-1573 X问题 【二元一次方程(讨论)+CRT(模方程合并)】
- HDU - 1573 X问题 (中国剩余定理)
- X问题(hdu 1573)
- hdu 1573 X问题(解线性同余模方程组在给定取值范围的解)
- hdu 1573 X问题 非互素的中国剩余定理应用
- HDU 1573 X问题
- X问题 HDU - 1573 (中国剩余定理)(非互质情况)
- 【HDU - 1573】X问题 【CRT 多解的规律】