zoukankan      html  css  js  c++  java
  • 【题解】洛谷P1495 曹冲养猪 (中国剩余定理)

    洛谷P1495:https://www.luogu.org/problemnew/show/P1495

    思路

    建立了a个猪圈 有b头猪没有去处 即x≡b(mod a) x即是ans

    把所有的关系全部列出来 即可看出是简单的中国剩余定理模板

    代码

    #include<iostream>
    #include<cmath>
    #include<cstdio>
    using namespace std;
    #define ll long long
    ll a[11],b[11],n,M=1,ans=0;
    void exgcd(ll a,ll b,ll &d,ll &x,ll &y)
    {
        if(b==0)
        {
            d=a;
            x=1;
            y=0;
        }
        else
        {
            exgcd(b,a%b,d,x,y);
            ll t=x;
            x=y;
            y=t-a/b*y;
        }
    }
    void intchina()
    {
        ll Mi,x,y,i,d;
        for(i=1;i<=n;i++)
        {
            Mi=M/a[i];
            exgcd(Mi,a[i],d,x,y);//扩展欧几里德求ti 
            ans=((ans+Mi*x*b[i])%M+M)%M;
        }
        cout<<ans;
    }
    int main()
    {
        cin>>n;
        for(ll i=1;i<=n;i++)
        {
            cin>>a[i]>>b[i];
            M*=a[i];//计算M 
        }
        intchina();//中国剩余定理 
    }
    View Code
  • 相关阅读:
    HTML中Css补充资料
    HTML表单
    HTML盒子模型
    标准文档流
    什么使用面向对象
    static修饰
    static修饰
    列表样式
    java基础(9)
    java基础(8)
  • 原文地址:https://www.cnblogs.com/BrokenString/p/9655212.html
Copyright © 2011-2022 走看看