【19/04/18 膜赛】 Jams倒酒(pour)
题目:
题目描述
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)相关推荐
- 【19/04/18 膜赛】土豪聪要请客(stol)
题目: 题目描述 众所周知,聪哥(ndsf)是个土豪,不过你们不知道的是他的MZ和他的RMB一样滴多-- 某天土豪聪又赚了10^10000e的RMB,他比较开心,于是准备请客.他在自己在XX星上的别墅 ...
- AI公开课:19.04.18俞益洲—深睿医疗CS《计算机视觉的应用与落地》课堂笔记以及个人感悟
AI公开课:19.04.18俞益洲-深睿医疗CS<计算机视觉的应用与落地>课堂笔记以及个人感悟 导读 俞益洲,现为深睿医疗联合创始人.首席科学家(Chief Scientist ...
- 在Ubuntu 19.04/18.04/16.04上安装WPS新版本的方法
注:在Ubuntu系统上安装WPS新版本需要先加载Ubuntu Kylin软件仓库源,否则安装的版本可能不是WPS Office 2019 For Linux 8392了. 1.打开/etc/apt/ ...
- Ubuntu 19.10 19.04 18.04 18.10等系统版本修改国内镜像源 国内更新源
https://blog.csdn.net/qq_39827677/article/details/104627292
- 2021年 第12届 蓝桥杯 Java B组 省赛真题详解及小结【第1场省赛 2021.04.18】
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[题目下载.2013年(第4届)~2020年(第11届)] CSDN 蓝桥杯 专栏 2013年 第04届 蓝桥杯 Java B组 省赛真题详解及小结 ...
- 使用WPA Supplicant在Ubuntu 18.04/19.04上从终端连接到Wi-Fi的方法
使用WPA Supplicant在Ubuntu 18.04/19.04上从终端连接到Wi-Fi的方法_Linux教程_云网牛站 (ywnz.com) 本文介绍使用wpa_supplicant从Ubun ...
- 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存储库并运行相关命令即可完成 ...
- linux mint 18.3浏览器,在Linux Mint 19/Ubuntu 18.04中安装Tor Browser浏览器的方法
本文介绍在Linux Mint 19/Ubuntu 18.04系统中安装Tor Browser浏览器的方法,本文不使用Tor的默认Ubuntu存储库,因为它们包含旧版本的Tor. 一.添加Tor存储库 ...
- 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 ...
最新文章
- Smarty中文手册,Smarty教程,Smarty模板的入门教材
- SmartGit安装及使用
- 硬件技巧:如何隐设置的你的电脑U盘不可见
- kafka和storm集成_Storm和Kafka集成的重要生产错误和修复
- 崩溃bug日志总结2
- 计算机二级34套word答案,全国计算机二级C选择题题库第34套
- 第一章 —— 简单工厂模式(节选自:《大话设计模式》)
- The Turn Model for Adaptive Routing中的west-first算法
- 图卷积神经网络GCN ---如何在交通预测中考虑网络拓扑结构
- 香橙派 OrangPi PC 安装Lakka游戏系统及使用指南
- 2、CSS动画之行走的米兔、奔跑的小人
- 在线二进制转文本字符工具
- 翁恺C语言程序设计网课笔记合集
- DDI(DNS、DHCP和IPAM)解决方案的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 基于GAN的图像修复--论文笔记
- video-play使用,vue2
- 如何用JS刷新当前页面
- BetaFlight模块设计之十:磁力计任务分析
- Serverless:云时代的软件架构核心思想
- MMGG热点 ▏AssangeDAO提案
热门文章
- C# 10分钟完成百度人脸识别——入门篇
- 生成式AI发现潜在抗癌药物;王慧文与“一流科技”达成并购意向;阿里巴巴公布六大业务集团CEO丨每日大事件...
- 复杂背景下的静态手势识别研究
- 分享到朋友圈没有缩略图?微信自定义标题描述及缩略图最简单完美的办法!...
- python专业版如何激活_学生如何注册Pycharm专业版以及pycharm的安装
- Pycharm 专业版如何远程链接服务器
- Cadence Allegro(11):设置层叠结构
- 职场英语太头疼?试试用GPT学英语
- java计算机毕业设计果之芒农场销售系统(附源码、数据库)
- HTML5+——APP实现热更新