zoukankan      html  css  js  c++  java
  • Romantic(hdu2699+欧几里德)

    Romantic

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 3218 Accepted Submission(s): 1274

    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

    Author
    yifenfei

    题意很简单就是 a * x + b * y = 1 注意的是X必须大于0 SO… a*(x+b) + b*(y-a) = a*x + a*b + b*y - a*b = 1

    #include<stdio.h>
    #define LL __int64
    
    
    void exgcd(LL a,LL b,LL& d,LL& x,LL& y)
    {
        if(!b)d=a,x=1,y=0;
        else
        {
            exgcd(b,a%b,d,y,x);
            y-=x*(a/b);
        }
    }
    int main()
    {
        LL a,b;
        while(scanf("%I64d%I64d",&a,&b)!=EOF)
        {
            LL d,x,y;
            exgcd(a,b,d,x,y);
            if(d==1)
            {
                while(x<0)
                {
                    //a * x + b * y = 1
                    //->  a*(x+b) + b*(y-a) = a*x + a*b + b*y - a*b = 1
                    x = x+b;
                    y = y-a;
                }
                printf("%I64d %I64d
    ",x,y);
            }
            else
                printf("sorry
    ");
        }
        return 0;
    }
    
    
    
    
    
  • 相关阅读:
    std::bind常见的坑
    valgrind使用指南
    Makefile (1) gcc基础
    准备篇(三)Makefile
    win10激活
    C语言结构体篇 结构体
    C语言字符篇(五)内存函数
    C语言字符篇(四)字符串查找函数
    C语言字符篇(三)字符串比较函数
    C语言字符篇(二)字符串处理函数
  • 原文地址:https://www.cnblogs.com/yuyixingkong/p/4370240.html
Copyright © 2011-2022 走看看