#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; const int MaxM=11; int a[MaxM],b[MaxM]; void exgcd(int a,int b,int &d,int &x,int &y){
if(b==0){
x=1; y=0;
d=a;
}
else{
exgcd(b,a%b,d,x,y);
int tmp=x;
x=y;
y=tmp-(a/b)*y;
}
} int gcd(int a,int b){
if(b==0) return a;
return gcd(b,a%b);
} int main(){
int t; int a1,r1,a2,r2; int aa,bb,cc,dd; int x,y; int g;
scanf("%d",&t);
int n,m;
bool ifhave;
int kase=0;
while(t--){
kase++;
scanf("%d",&m);
g=1;
for(int i=0;i<m;i++){
scanf("%d",&a[i]);
if(i==0){ g=a[i]; continue; }
g=g*a[i]/gcd(g,a[i]);
}
for(int i=0;i<m;i++)
scanf("%d",&b[i]);
a1=a[0]; r1=b[0];
ifhave=true;
for(int i=1;i<m;i++){
a2=a[i]; r2=b[i];
aa=a1; bb=a2; cc=r2-r1;
exgcd(aa,bb,dd,x,y);
if(cc%dd!=0){
ifhave=false;
break;
}
int t=bb/dd;
x=(x*(cc/dd)%t+t)%t;
r1=a1*x+r1;
a1=a1*(a2/dd);
}
printf("Case %d: ",kase);
if(!ifhave)
printf("-1\n");
else{
if(r1==0)
printf("%d\n",g);
else printf("%d\n",r1);
}
}
return 0;
}

  

最新文章

  1. mysql修改引擎
  2. 简单几何(半平面交+二分) LA 3890 Most Distant Point from the Sea
  3. SharePoint自动化系列——Select-option标签的定位方法总结
  4. 圆角button
  5. Linux技巧:一次删除一百万个文件最快方法
  6. 页面多个Jquery版本共存的冲突问题,解决方法!
  7. centos 下查找软件安装在哪里的命令
  8. Oracle 检验身份证是否正确的存储过程
  9. Qt5.2 android 环境搭建及其测试
  10. HTTP协议中返回代码302的情况
  11. sql连接查询中on筛选与where筛选的区别
  12. java复习要点(一)------- java语言的特点、java的工作原理、配置环境变量、java命令的使用
  13. CSS3 动画 cheatsheet
  14. poj_2195Going Home(最小费用最大流)
  15. C_求两个日期相隔的天数(闰年)
  16. HDU1850 尼姆博弈求可行方案数目
  17. Java程序员进击书籍推荐
  18. .net core下直接执行SQL语句并生成DataTable
  19. C# 符合备忘录
  20. OAF 标准的供应商管理员批准流程

热门文章

  1. Github 协同开发
  2. Eclipse-Error:笔记-1
  3. xenserver&amp;nbsp;增加新硬盘
  4. ASCII编码
  5. 如何让音频跟视频在ios跟android上自动播放
  6. java selenium手动最大化chrome浏览器的方法
  7. Kettle 版本及使用问题
  8. Oracle-基本SQL语句
  9. angular实现的tab栏切换
  10. centos7 修改默认语言