2017.10.6 国庆清北 D6T2 同余方程组
题目描述
求关于x 的同余方程组
x%a1 = b1
x%a2 = b2
x%a3 = b3
x%a4 = b4
的大于等于0 的最小整数解。
输入输出格式
输入格式:
一行8 个整数,表示a1; b1; a2; b2; a3; b3; a4; b4。
输出格式:
一行一个整数,答案除以p 的余数。
输入输出样例
2 0 3 1 5 0 7 3
10
说明
对于30% 的数据,ai <=40, 保证ai 均为素数。
对于60% 的数据,1 <=ai <=10^3, 保证ai 均互素。
对于100% 的数据,0 <= bi < ai; 1 <=ai <= 10^3。
/*
其实这是一个满分暴力(其实也不太算暴力,用的大数翻倍法)。 c%a1=b1 --> (c-b1)%a1=0
c%a2=b2 --> (c-b2)%a2=0
c%a3=b3 --> (c-b3)%a3=0
c%a4=b4 --> (c-b4)%a4=0
设c=b1,此时c满足c%a1=b1,让c累加a1,使c满足c%a2=b2,然后我们让c+=lcm(a1,a2),使c%a3=b3,此时c仍然满足c%a1=b1 && c%a2=b2
再让c+=lcm(a1,a2,a3),使c满足c%a4=b4,则此时c同时满足了四个条件。
为什么呢,因为c加的是倍数,所以mod一下相当于不变,这样c%那个a后还是那个b。
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; long long ans;
int a[],b[];
int lcm1,lcm2; inline void read(int &num)
{
char c=getchar();
for(;!isdigit(c);c=getchar());
for(;isdigit(c);c=getchar()){num=num*+c-'';}
} int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
} inline void init()
{
for(int i=;i<=;i++)
read(a[i]),read(b[i]);
ans=b[];
lcm1=a[]*a[]/gcd(a[],a[]);
lcm2=lcm1*a[]/gcd(lcm1,a[]);
while(ans%a[]!=b[]) ans+=a[]; //找ans使ans满足c%a1=b1 && c%a2=b2
while(ans%a[]!=b[]) ans+=lcm1; //找ans使ans满足c%a1=b1 && c%a2=b2 && c%a3=b3
while(ans%a[]!=b[]) ans+=lcm2; //找ans使ans满足c%a1=b1 && c%a2=b2 && c%a3=b3 && c%a4=b4
printf("%lld",ans);
} int main()
{
//freopen("mod.in","r",stdin);
//freopen("mod.out","w",stdout);
init();
fclose(stdin);fclose(stdout);
return ;
}
2017.10.6 国庆清北 D6T2 同余方程组的更多相关文章
- 2017.10.1 国庆清北 D1T1 zhx的字符串题
题目背景 2017国庆清北D1T1 题目描述 你是能看到第一题的 friends 呢. ——hja 何大爷对字符串十分有研究,于是天天出字符串题虐杀 zhx.何大爷今天为 字符串定义了新的权值计算方法 ...
- 2017.10.4 国庆清北 D4T2 正方形
题目描述 在一个10000*10000的二维平面上,有n颗糖果. LYK喜欢吃糖果!并且它给自己立了规定,一定要吃其中的至少C颗糖果! 事与愿违,LYK只被允许圈出一个正方形,它只能吃在正方形里面的糖 ...
- 2017.10.6 国庆清北 D6T1 排序
题目描述 小Z 有一个数字序列a1; a2; .... ; an,长度为n,小Z 只有一个操作:选 定p(1<p<n),然后把ap 从序列中拿出,然后再插⼊到序列中任意位置. 比如a 序列 ...
- 2017.10.3 国庆清北 D3T3 解迷游戏
题目描述 LYK进了一家古董店,它很想买其中的一幅画.但它带的钱不够买这幅画. 幸运的是,老板正在研究一个问题,他表示如果LYK能帮他解出这个问题的话,就把这幅画送给它. 老板有一个n*m的矩阵,他想 ...
- 2017.10.3 国庆清北 D3T2 公交车
题目描述 LYK在玩一个游戏. 有k群小怪兽想乘坐公交车.第i群小怪兽想从xi出发乘坐公交车到yi.但公交车的容量只有M,而且这辆公交车只会从1号点行驶到n号点. LYK想让小怪兽们尽可能的到达自己想 ...
- 2017.10.3 国庆清北 D3T1 括号序列
题目描述 LYK有一个括号序列,但这个序列不一定合法. 一个合法的括号序列如下: ()是合法的括号序列. 若A是合法的括号序列,则(A)是合法的括号序列. 若A和B分别是合法的括号序列,则AB是合法的 ...
- 2017.10.4 国庆清北 D4T1 财富
(其实这题是luogu P1901 发射站 原题,而且数据范围还比luogu小) 题目描述 LYK有n个小伙伴.每个小伙伴有一个身高hi. 这个游戏是这样的,LYK生活的环境是以身高为美的环境,因此在 ...
- 2017.10.7 国庆清北 D7T1 计数
题目描述 给出m个数a[1],a[2],…,a[m] 求1~n中有多少数不是a[1],a[2],…,a[m]的倍数. 输入输出格式 输入格式: 输入文件名为count.in. 第一行,包含两个整数:n ...
- 2017.10.5 国庆清北 D5T1 拼不出的数
题目描述 3 个元素的集合{5,1,2}的所有子集的和分别是0,1,2,3,5,6,7,8.发现最小的不能由该集合子集拼出的数字是4. 现在给你一个n个元素的集合,问你最小的不能由该集合子集拼出的数字 ...
随机推荐
- Qt 中的二进制兼容策略(简而言之就是地址不能变,剩下的就是让地址不变的技巧)
本文翻译自 Policies/Binary Compatibility Issues With C++ 二进制兼容的定义 如果程序从一个以前版本的库动态链接到新版本的库之后,能够继续正常运行,而不需要 ...
- go 学习笔记(4) --变量与常量
“_” 可以理解成一个垃圾桶,我们把值赋给“_” ,相当于把值丢进垃圾桶,在接下来的程序中运行中不需要这个下划线这个值 a,b :=1,2 只能用在函数体内 package main impor ...
- AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersion 区别
AssemblyVersion: 几乎保留在.NET内部,AssemblyFileVersion: 就是Windows所见.如果您转到位于目录中的程序集的属性并切换到版本选项卡, 映射到“文件版本”A ...
- Java中 StringBuffer StringBuilder String 区别
String 字符串常量 不可变 使用字符串拼接时是不同的2个空间 StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBui ...
- 有关mysql的utf8和utf8mb4,以及Illegal mix of collations for operation 'like'
参考以下几个帖子: https://www.cnblogs.com/install/p/4417527.html https://blog.csdn.net/Yetmoon/article/detai ...
- GitHub上传文件问题总结
问题一:git warning: LF will be replaced by CRLF in 解决办法 在Git Bash中输入git add .时出现上述语句. 解决办法: 输入以下语句: $ g ...
- 如何通过Restful API的方式读取SAP Commerce Cloud的Product图片
需求:我在SAP Commerce Cloud的backoffice里给某product维护了一些图片: 分别位于Normal,Thumbnails和Others等字段: 现在我想通过Restful ...
- grant_type为client_credentials和password二者的区别
最近工作中需要使用到oauth,注意到oauth客户端的grant_type值可以指定为client_credentials和password两种,很好奇所以网上搜索了一下,发现stackoverfl ...
- Android笔记(四十五) Android中的数据存储——XML(一)DOM解析器
DOM解析XML在j2ee开发中比较常见,在Dom解析的过程中,是先把dom全部文件读入到内存中,然后使用dom的api遍历所有数据,检索想要的数据,这种方式显然是一种比较消耗内存的方式,对于像手机这 ...
- MySQL学习总结 (InnoDB)
主要内容: 存储结构 索引 锁 事务 存储结构 表 索引组织表:表是根据主键顺序组织存放的.如果表中没有非空惟一索引,引擎会自动创建一个6字节大小的指针. 主键的索引是定义索引的顺序,而不是建表时列的 ...