曹冲养猪 中国剩余定理
来源:互联网 发布:虚拟机上装linux 编辑:程序博客网 时间:2024/04/29 23:28
AC通道:http://172.20.6.3/Problem_Show.asp?id=1898
【题目描述】
自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干些事业,于是派他到中原养猪场养猪,可是曹冲满不高兴,于是在工作中马马虎虎,有一次曹操想知道母猪的数量,于是曹冲想狠狠耍曹操一把。举个例子,假如有16头母猪,如果建了3个猪圈,剩下1头猪就没有地方安家了。如果建造了5个猪圈,但是仍然有1头猪没有地方去,然后如果建造了7个猪圈,还有2头没有地方去。你作为曹总的私人秘书理所当然要将准确的猪数报给曹总,你该怎么办?【题解】
很裸的中国剩余定理,不能再裸了。。。(注意用long long)
/************* Vijos 1164 by chty 2016.11.1*************/#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<ctime>#include<cmath>#include<algorithm>using namespace std;typedef long long ll;ll n,ans,M(1),a[15],m[15];inline ll read(){ ll x=0,f=1; char ch=getchar(); while(!isdigit(ch)) {if(ch=='-') f=-1; ch=getchar();} while(isdigit(ch)) {x=x*10+ch-'0'; ch=getchar();} return x*f;}void exgcd(ll a,ll b,ll &x,ll &y){ if(b==0) {x=1; y=0; return;} exgcd(b,a%b,x,y); ll t=x;x=y;y=t-a/b*y;}int main(){ //freopen("cin.in","r",stdin); //freopen("cout.out","w",stdout); n=read(); for(ll i=1;i<=n;i++) m[i]=read(),a[i]=read(),M*=m[i]; for(ll i=1;i<=n;i++) { ll x,y,Mi=M/m[i]; exgcd(Mi,m[i],x,y); ans=(ans+Mi*x*a[i])%M; } if(ans<0) ans+=M; printf("%I64d\n",ans); return 0;}
1 0
- 中国剩余定理 vijos1164 曹冲养猪
- 曹冲养猪 中国剩余定理
- vijos - P1164曹冲养猪(中国剩余定理 + python)
- Vijos 1164 曹冲养猪(中国剩余定理)
- Vijos 1164曹冲养猪(中国剩余定理)
- [vijos1164] 曹冲养猪
- vijosP1164 曹冲养猪
- 巴蜀1738 曹冲养猪
- 巴蜀 1738 曹冲养猪
- 洛谷 P1495 曹冲养猪
- 洛谷 P1495 曹冲养猪
- vijos P1164曹冲养猪
- 中国剩余定理模版【中国剩余定理】
- 中国剩余定理
- 中国剩余定理
- 中国剩余定理
- 中国剩余定理
- 中国剩余定理
- 【bzoj1602】牧场行走 lca
- spark sql中踩到的一个坑,自定义Udf会执行多次,即使在已经cache table的情况下
- 【bzoj3670】动物园 kmp
- 【bzoj1030】文本生成器 AC自动机+树型dp
- 【leetcode】463. Island Perimeter【E】
- 曹冲养猪 中国剩余定理
- 【HDU1573】X问题 中国剩余定理
- 【bzoj2818】Gcd 欧拉函数
- java自带线程池和队列详细讲解
- git笔记:一篇搞懂git是个什么玩意
- 【bzoj3667】Rabin-Miller算法 素数测试
- UFLDL教程Exercise答案(3.1):PCA in 2D
- JavaEE:Spring-security笔记
- NOIP2016总结