P1292 倒酒

Posted duojiaming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1292 倒酒相关的知识,希望对你有一定的参考价值。

传送门

数学题

扩展gcd

 

#include<bits/stdc++.h>
using namespace std;
int exgcd(int a,int b,int &x,int &y){
    if(!b){
        x=1;
        y=0;
        return a;
    }
    int r=exgcd(b,a%b,x,y);
    int t=x;
    x=y;
    y=t-a/b*y;
    return r;
}
int main(){
    int x,y,a,b;
    cin>>a>>b;
    int gcd=exgcd(a,b,x,y);
    cout<<gcd<<endl;
    x*=-1;
    a*=-1;
    while(x<0||y<0){
        x+=b/gcd*(x<0);
        y-=a/gcd*(x>=0);
    }
    cout<<x<<" "<<y;
    return 0;
}

 

以上是关于P1292 倒酒的主要内容,如果未能解决你的问题,请参考以下文章

洛谷 P1292 倒酒

p1292监狱(动态规划)

Jams倒酒(pour)

Jams倒酒

NOIP2016模拟赛Jams 倒酒(pour) - 扩展欧几里得

IO多路复用