zoukankan      html  css  js  c++  java
  • 【HDU 2669】Romantic

    Problem Description
    The Sky is Sprite.
    The Birds is Fly in the Sky.
    The Wind is Wonderful.
    Blew Throw the Trees
    Trees are Shaking, Leaves are Falling.
    Lovers Walk passing, and so are You. 
    ................................Write in English class by yifenfei

    Girls are clever and bright. In HDU every girl like math. Every girl like to solve math problem!
    Now tell you two nonnegative integer a and b. Find the nonnegative integer X and integer Y to satisfy X*a + Y*b = 1. If no such answer print "sorry" instead.
    Input
    The input contains multiple test cases.
    Each case two nonnegative integer a,b (0<a, b<=2^31)
    Output
    output nonnegative integer X and integer Y, if there are more answers than the X smaller one will be choosed. If no answer put "sorry" instead. 
    Sample Input
    77 51 10 44 34 79
     
    Sample Output
    2 -3 sorry 7 -3
     

    题解:

    简单扩展欧几里德 判断gcd是否等于1即可

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    ll exgcd(ll a,ll b,ll &x,ll &y)
    {
        if(!b)
        {
            x=1;y=0;
            return a;
        }
        ll r=exgcd(b,a%b,x,y);
        ll t=x;
        x=y;
        y=t-a/b*y;
        return r;
    }
    void work(ll a,ll b)
    {
        ll x,y;
        ll r=exgcd(a,b,x,y);
        if(r>1)
        {
            printf("sorry
    ");
            return ;
        }
        ll t=b/r;
        x=(x%t+t)%t;
        y=(r-a*x)/b;
        printf("%lld %lld
    ",x,y);
    }
    int main()
    {
        int a,b;
        while(~scanf("%d%d",&a,&b))
        {
            work(a,b);
        }
        return 0;
    }
  • 相关阅读:
    《修改代码的艺术》读书笔记
    《软件架构师的12项修炼》阅读笔记2
    《软件架构师的12项修炼》阅读笔记1
    python 包
    《编程珠玑》阅读笔记1
    Darknet和YOLO的区别和关系
    darknet
    yolov3
    软件质量属性
    酷客 机器学习十讲(一)机器学习介绍
  • 原文地址:https://www.cnblogs.com/Yuzao/p/7027680.html
Copyright © 2011-2022 走看看