让我回想起了小学的时候,空瓶换饮料还能向别人借一个空瓶喝了再还回去的神奇问题……

开始时思考,特判一下a=1或者b=1的情况为INF就可以了,然后发现2 2 1 2这样的样例也是能够喝到无穷多瓶饮料的。

所以干脆直接做循环,每次循环模拟换了饮料然后喝掉的情形,如果发现喝完空瓶子不减少或者瓶盖子不减少,那显然是能喝不知道多少瓶饮料了,就直接输出INF。

 #include<cstdio>
int x,y,a,b,cnt;
bool flag;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d%d",&x,&y,&a,&b);//x空瓶 or y瓶盖换满瓶 ; 现有a空瓶,b瓶盖
cnt=;
flag=;
while(a>=x || b>=y)
{
int now_a=a,now_b=b;
if(a>=x)
{
int c=a/x;
a=a%x+c;
b+=c;
cnt+=c;
}
if(b>=y)
{
int c=b/y;
b=b%y+c;
a+=c;
cnt+=c;
}
if(a>=now_a && b>=now_b)
{
printf("INF\n");
flag=;
break;
}
}
if(flag) printf("%d\n",cnt);
}
}

最新文章

  1. IOS 开发中 Whose view is not in the window hierarchy 错误的解决办法
  2. Ubuntu apt-get &quot;Hash Sum mismatch&quot; 问题解决方法
  3. AutoCAD2006启动慢解决方案
  4. Android主流UI开源库整理(转载)
  5. Oracle实例和Oracle数据库(Oracle体系结构)
  6. IE和Firefox的Javascript兼容性总结
  7. geeksforgeeks@ Minimum Points To Reach Destination (Dynamic Programming)
  8. Unity 优化
  9. ###《Machine Learning》by Andrew NG
  10. [转]SharePoint 2010/2013 使用Javascript来判断权限的三种方法
  11. 基于用户映射的CAS单点登录系统设计与实现
  12. ReferenceError: $ is not defined
  13. Oracle EBS-SQL (INV-1):检查物料成本为0并且物料状态不是&#39;NEW&#39;的物料.sql
  14. Java替换字符或十进制数的字符串
  15. Redis简介与简单安装
  16. IE8“开发人员工具”使用详解上(各级菜单详解)
  17. TimeUnit枚举类
  18. CoolBlog开发笔记第2课:搭建开发环境
  19. 【leetcode80】Reverse Vowels of a String(元音字母倒叙)
  20. 使用NPM安装Vue项目

热门文章

  1. 基于NDK的Android防破解&amp; Android防破解 【转载】
  2. Visual Studio 添加SVN插件
  3. java序列化/反序列化之xstream、protobuf、protostuff 的比较与使用例子
  4. HTML5的一个写下拉文本框标签
  5. messagpack的使用
  6. MySQL存储过程的创建及调用
  7. CentOS6.8_64位手动安装MySQL5.6
  8. 【代码审计】QYKCMS_v4.3.2 任意文件上传漏洞分析
  9. 文件名过滤器FilenameFilter的用法
  10. centos6.4安装 jupyter-notebook