模拟赛 Jams倒酒
来源:互联网 发布:软件许可使用合同 编辑:程序博客网 时间:2024/04/27 18:10
题目描述
Jams是一家酒吧的老板,他的酒吧提供2种体积的啤酒,a ml 和 b ml,分别使用容积为a ml 和 b ml的酒杯来装载。
酒吧的生意并不好。Jams发现酒鬼们都很穷,不像他那么土豪。有时,他们会因为负担不起a ml 或者 b ml酒的消费,而不得不离去。因此,Jams决定出手第三种体积的啤酒(较小体积的啤酒)。
Jams只有两种杯子,容积分别为 a ml 和 b ml,而且啤酒杯是没有刻度的。他只能通过两种杯子和酒桶间的互相倾倒来得到新的体积的酒。
倒酒步骤为:
(1) 规定a>=b
(2) 酒桶容积无限,酒桶中酒体积无限大。
(3) 只能包含三种可能的倒酒操作:
1、 将酒桶中的酒倒入容积为b ml的酒杯中;
2、 将容积为a ml的酒杯中的酒倒入酒桶;
3、 将容积为b ml的酒杯中的酒倒入容积为 a ml的酒杯中。
(4) 每次倒酒必须把杯子倒满或者把被倾倒的杯子倒空。
Jams希望通过若干次倾倒得到容积为 a ml酒杯中剩下的就体积尽可能小,他请求你帮助他设计倾倒方案。
输入:
两个整数a,b(0<b<=a<=10^9)输出
第一行一个整数,表示可以得到的最小体积的酒。
第二行两个整数Pa和Pb(中间用一个空格分开),分别表示从体积为a ml的酒杯中到处酒的次数和将酒倒入体积为b ml的酒杯的次数。
若有多种可能的Pa,Pb满足要求,那么请输出Pa最小的。若Pa最小的时候有多个Pb,那么输出Pb最小的。
样例输入
5 3样例输出
11 2
倾倒方案为:
1、 桶->B;
2、 B->A;
3、 桶->B;
4、 B->A;
5、 A->桶;
6、 B->A;
对于20%的数据,pa,pb总和不超过5
对于60%的数据,pa<=10^8
对于100%的数据,0<b<=a<=10^9
题解
作为一个渣,我还是太弱了,竟然没有马上看出来是exgcd。至于调整答案试试就好。
#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<cmath>#include<algorithm>#define ll long longusing namespace std;int a,b;ll X,Y;int gcd(int x,int y){if(y==0) return x;else return gcd(y,x%y);}void exgcd(int x,int y){if(y==0) {X=1; Y=0; return;}else {exgcd(y,x%y); ll t=X; X=Y; Y=t-(x/y)*Y; } }int main(){freopen("pour.in","r",stdin);freopen("pour.out","w",stdout);scanf("%d%d",&a,&b);int mins=gcd(a,b);printf("%d\n",mins);a/=mins,b/=mins;exgcd(a,b);//printf("%d %d\n",X,Y);while(Y<=0) Y=Y+a;X=(ll)(1-Y*b)/(ll)(a);printf("%I64d %I64d\n",-X,Y);return 0;}
0 0
- 模拟赛 Jams倒酒
- JAMS Scheduler
- 倒
- 倒*
- 搜索学习基础--代码模拟倒排索引过程
- 倒酒(拓展欧几里得)
- 倒倒
- Study jams 第二课程的学习
- Google Study Jams sp2练习代码
- Google Study Jams笔记1A
- [题解]codeforces498d Traffic Jams in the Land
- 2017第一期Google Study Jams结业
- Google Study Jams活动正式开启
- CJOJ 1659 【中学高级本】倒酒
- HDU-5475 An easy problem(模拟||(倒着计算+线段树))
- 智力题解题报告No.12 倒油 倒酒 倒水问题
- codeforces 498 d Traffic Jams in the Land
- CodeForces 498D Traffic Jams in the Land
- 5个经典的前端面试问题
- php引用(&)详解及注意事项 摘自:PHP引用(&)使用详解 官方文档: 1.引用是什么:http://www.php.net/manual/zh/language.references.
- vi编辑器
- hibernate 注解的问题(异常)集合
- Block系列2:Block内存管理
- 模拟赛 Jams倒酒
- 如何造就高价值外链?
- buffer cache深度分析之内部管理机制
- html5初体验,canvas模拟window画图(还有未解决问题)
- 使用 Chef 管理 Azure 资源
- 配置rsync 同步数据 rpm包安装rsync及配置
- iOS 字符串转长度
- SQLyog v9.63 试用30天到期解决办法
- Storm的基本配置项