hdu 3579 Hello Kiki
来源:互联网 发布:java构造函数的特点 编辑:程序博客网 时间:2024/05/19 19:59
题目:点击打开题目
#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef long long LL;const int MAXN = 10;LL Gcd(LL a, LL b){ return b == 0 ? a : Gcd(b, a%b);}void Ex_Gcd(LL a, LL b, LL &d, LL &x, LL&y){ if(b == 0) { x = 1; y = 0; d = a; return ; } else { Ex_Gcd(b, a%b, d, x, y); LL t = x; x = y; y = t - (a/b) * y; }}int main(){ int n,i; LL lcm, a, b, c, x0, y0, d; LL aa[MAXN], bb[MAXN]; int kcase = 1; int T; cin>>T; while(T--) { lcm = 1; memset(aa, 0, sizeof(aa)); memset(bb, 0, sizeof(bb)); cin>>n; bool flag = true; for(i = 0; i < n; ++i) { cin>>aa[i]; lcm = lcm / Gcd(lcm, aa[i]) * aa[i]; } for(i = 0; i < n; ++i) cin>>bb[i]; cout<<"Case "<<kcase++<<": "; for(i = 1; i < n; ++i) { a = aa[0]; b = aa[i]; c = bb[i] - bb[0]; Ex_Gcd(a, b, d, x0, y0); if(c % d != 0) { flag = false; break; } LL t = b / d; x0 = x0 * (c/d); x0 = (x0 % t + t) % t; bb[0] = aa[0] * x0 + bb[0]; aa[0] = aa[0] * aa[i] / d; } if(!flag) { cout<<"-1"<<endl; continue; } if(bb[0] != 0) { cout<<bb[0]<<endl; continue; } cout<<lcm<<endl; } return 0;}
0 0
- Hdu 3579 Hello Kiki
- hdu 3579 Hello Kiki
- HDU 3579 (Hello Kiki)
- hdu 3579 Hello Kiki
- HDU 3579 Hello Kiki
- HDU 3579 Hello Kiki【中国剩余】
- HDU 3579——Hello Kiki
- hdu 3579 Hello Kiki 同余
- 【HDU】3579 - Hello Kiki(CRT)
- HDU 3579 Hello Kiki(模线性方程组)
- hdoj-3579-Hello Kiki
- HDU 3579 Hello Kiki 数论-(孙子定理)
- HDU 3579 Hello Kiki 解同余方程组
- HDU 3579 Hello Kiki 中国剩余定理(合并方程
- HDU 3579 Hello Kiki 中国剩余定理 不互质情况
- hdu 3579 Hello Kiki(线性同余方程)
- Hdu 3579 Hello Kiki(同余模方程组)
- HDU 3579 Hello Kiki(中国剩余定理)
- 读取excel到datatable 读去txt文件datatable 写入txt
- Oracle常用的Sql
- ORACLE中的各种SCN查询
- 三星Note3使用技巧:怎么使用随笔窗口
- PagedDataSource类 实现DataList控件 分页
- hdu 3579 Hello Kiki
- win8用代码设置下划线
- kernel 网桥代码分析
- 用好工具,在团队协作中运筹帷幄
- 三星Note3使用技巧之如何使用智能录音机
- 数据结构:最小堆/哈希表/二叉树/平衡二叉树/红黑树的意义(什么情况下使用)
- OpenGL API 简介
- (int&)a和(int)&a的区别
- 爱有很多种形式