zoukankan      html  css  js  c++  java
  • 青蛙的约会及扩欧

    注意时间限制   30 分

    #include<iostream>
    #include<string.h>
    #include<math.h>
    #include<algorithm>
    #include<stdio.h>
    using namespace std;
    void exgcd(long long aa,long long bb,long long&x,long long&y)
    {
        if(bb==0) {x=1;y=0;}
        else
        {
          exgcd(bb,aa%bb,y,x);
          y=y-(aa/bb)*x;
        }
    }
    long long gcd(long long a,long long b)
    {
         if(b==0) return a;
         else return (b,a%b);
    }
    int main()
    {
        int i,j;
        long long a,c,l,xx,yy,x,y,d,n,m;
        cin>>xx>>yy>>m>>n>>l;
        a=m-n;c=yy-xx;
        if(a<0) {a=-a;c=-c;}
        d=gcd(a,l);
        if(c%d==0)  
        {
          exgcd(a,l,x,y);
          cout<<((x*(c/d))%(l/d)+(l/d))%(l/d)<<endl;
        }
        else cout<<"Impossible"<<endl;
          
        
        return 0;
    }

    100 分

    #include<iostream>
    #include<string.h>
    #include<math.h>
    #include<algorithm>
    #include<stdio.h>
    using namespace std;
    int exgcd(long long aa,long long bb,long long&x,long long&y)
    {
        int r;
        if(bb==0) {x=1;y=0;return aa;}
        else
        {
          r=exgcd(bb,aa%bb,y,x);
          y=y-(aa/bb)*x;
          return r;
        }
    }
    
    int main()
    {
        int i,j;
        long long a,c,l,xx,yy,x,y,d,n,m;
        cin>>xx>>yy>>m>>n>>l;
        a=m-n;c=yy-xx;
        if(a<0) {a=-a;c=-c;}
        d=exgcd(a,l,x,y);
        if(c%d==0) cout<<( x*(c/d)%(l/d)+(l/d))%(l/d)<<endl;
        else cout<<"Impossible"<<endl;
          
        
        return 0;
    }

  • 相关阅读:
    状态模式
    $和@的特殊处理
    Windows服务调试状态下用Console启动
    AutoResetEvent
    await和async
    计算a,b,c的排列组合
    百度地图:通过经纬度获得位置信息和距离
    装饰模式
    vue+h-ui+layUI完成列表页及编辑页
    为什么memset不能将数组元素初始化为1?
  • 原文地址:https://www.cnblogs.com/voldemorte/p/7300200.html
Copyright © 2011-2022 走看看