题目:

题目描述
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最小的。输入输出样例
输入样例#1:
5 3
输出样例#1:
1
1 2
说明
倾倒方案为:1、 桶->B;2、 B->A;3、 桶->B;4、 B->A;5、 A->桶;6、 B->A;对于20%的数据,pa,pb总和不超过5对于100%的数据,0<b<=a<=10^9

思路:
答案即为gcd(a,b),用exgcd输出答案。

代码:

#include<bits/stdc++.h>
using namespace std;long long x,y;long long exgcd(long long a,long long b) {if(b==0) {x=1,y=0;return a;}long long gcd=exgcd(b,a%b);long long t=x;x=y;y=t-a/b*y;return gcd;
}int main() {long long a,b;scanf("%lld%lld",&a,&b);long long gcd=exgcd(a,b);b/=gcd,x%=b;if(x>0) x-=b;x=-x;printf("%lld\n%d %lld",gcd,x,(x*a+gcd)/(b*gcd));return 0;
}

【19/04/18 膜赛】 Jams倒酒(pour)相关推荐

  1. 【19/04/18 膜赛】土豪聪要请客(stol)

    题目: 题目描述 众所周知,聪哥(ndsf)是个土豪,不过你们不知道的是他的MZ和他的RMB一样滴多-- 某天土豪聪又赚了10^10000e的RMB,他比较开心,于是准备请客.他在自己在XX星上的别墅 ...

  2. AI公开课:19.04.18俞益洲—深睿医疗CS《计算机视觉的应用与落地》课堂笔记以及个人感悟

    AI公开课:19.04.18俞益洲-深睿医疗CS<计算机视觉的应用与落地>课堂笔记以及个人感悟 导读       俞益洲,现为深睿医疗联合创始人.首席科学家(Chief Scientist ...

  3. 在Ubuntu 19.04/18.04/16.04上安装WPS新版本的方法

    注:在Ubuntu系统上安装WPS新版本需要先加载Ubuntu Kylin软件仓库源,否则安装的版本可能不是WPS Office 2019 For Linux 8392了. 1.打开/etc/apt/ ...

  4. Ubuntu 19.10 19.04 18.04 18.10等系统版本修改国内镜像源 国内更新源

    https://blog.csdn.net/qq_39827677/article/details/104627292

  5. 2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2021.04.18】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[题目下载.2013年(第4届)~2020年(第11届)] CSDN 蓝桥杯 专栏 2013年 第04届 蓝桥杯 Java B组 省赛真题详解及小结 ...

  6. 使用WPA Supplicant在Ubuntu 18.04/19.04上从终端连接到Wi-Fi的方法

    使用WPA Supplicant在Ubuntu 18.04/19.04上从终端连接到Wi-Fi的方法_Linux教程_云网牛站 (ywnz.com) 本文介绍使用wpa_supplicant从Ubun ...

  7. ubuntu php7.4,在Ubuntu 18.04/19.04/16.04版本上安装PHP 7.4的简单方法

    以下介绍安装PHP 7.4的方法非常的简单,适用于Ubuntu 18.04/19.04/16.04版本上,所安装的版本是PHP 7.4.0 RC1,只需要添加PHP ppa存储库并运行相关命令即可完成 ...

  8. linux mint 18.3浏览器,在Linux Mint 19/Ubuntu 18.04中安装Tor Browser浏览器的方法

    本文介绍在Linux Mint 19/Ubuntu 18.04系统中安装Tor Browser浏览器的方法,本文不使用Tor的默认Ubuntu存储库,因为它们包含旧版本的Tor. 一.添加Tor存储库 ...

  9. gdp笔记本 linux,Ubuntu MATE 19.04和18.04.2现在可用于GPD Pocket和GDP Pocket 2

    Ubuntu MATE领导人Martin Wimpress今天宣布推出用于小型GPD Pocket和GPD Pocket 2计算机的Ubuntu MATE 18.04.2 LTS(Bionic Bea ...

最新文章

  1. Smarty中文手册,Smarty教程,Smarty模板的入门教材
  2. SmartGit安装及使用
  3. 硬件技巧:如何隐设置的你的电脑U盘不可见
  4. kafka和storm集成_Storm和Kafka集成的重要生产错误和修复
  5. 崩溃bug日志总结2
  6. 计算机二级34套word答案,全国计算机二级C选择题题库第34套
  7. 第一章 —— 简单工厂模式(节选自:《大话设计模式》)
  8. The Turn Model for Adaptive Routing中的west-first算法
  9. 图卷积神经网络GCN ---如何在交通预测中考虑网络拓扑结构
  10. 香橙派 OrangPi PC 安装Lakka游戏系统及使用指南
  11. 2、CSS动画之行走的米兔、奔跑的小人
  12. 在线二进制转文本字符工具
  13. 翁恺C语言程序设计网课笔记合集
  14. DDI(DNS、DHCP和IPAM)解决方案的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  15. 基于GAN的图像修复--论文笔记
  16. video-play使用,vue2
  17. 如何用JS刷新当前页面
  18. BetaFlight模块设计之十:磁力计任务分析
  19. Serverless:云时代的软件架构核心思想
  20. MMGG热点 ▏AssangeDAO提案

热门文章

  1. C# 10分钟完成百度人脸识别——入门篇
  2. 生成式AI发现潜在抗癌药物;王慧文与“一流科技”达成并购意向;阿里巴巴公布六大业务集团CEO丨每日大事件...
  3. 复杂背景下的静态手势识别研究
  4. 分享到朋友圈没有缩略图?微信自定义标题描述及缩略图最简单完美的办法!...
  5. python专业版如何激活_学生如何注册Pycharm专业版以及pycharm的安装
  6. Pycharm 专业版如何远程链接服务器
  7. Cadence Allegro(11):设置层叠结构
  8. 职场英语太头疼?试试用GPT学英语
  9. java计算机毕业设计果之芒农场销售系统(附源码、数据库)
  10. HTML5+——APP实现热更新