Jugs uva571
2016-02-28 19:29
127 查看
题意:
给你a杯子的容量和b被子的容量,以及b杯子的目标剩余量n,求如何实现
思路:
两个杯子容量互斥,则
ca%cb
(ca *2)% cb
(ca * 3) % cb
.....
(ca*cb - 1) % cb
余数一定存在且余数在1 - cb-1
也就是说
只要不停从a倒向b在b杯就一定会出现1-cb-1的情况
那么只要a里有东西就倒向b,没有就加,b只要满了就倒,总会可以
代码:
给你a杯子的容量和b被子的容量,以及b杯子的目标剩余量n,求如何实现
思路:
两个杯子容量互斥,则
ca%cb
(ca *2)% cb
(ca * 3) % cb
.....
(ca*cb - 1) % cb
余数一定存在且余数在1 - cb-1
也就是说
只要不停从a倒向b在b杯就一定会出现1-cb-1的情况
那么只要a里有东西就倒向b,没有就加,b只要满了就倒,总会可以
代码:
#include<cstdio> int a, b, n; int main() { while(scanf("%d%d%d", &a, &b, &n) != EOF) { int ca=0, cb=0; while(true) { if(cb == n) { printf("success\n"); break; } else if(cb == b) { cb = 0; printf("empty B\n"); } else if(ca == 0) { ca = a; printf("fill A\n"); } else if(ca != 0) { if(cb + ca <= b){ cb += ca; ca = 0; } else { ca = ca + cb - b; cb = b; } printf("pour A B\n"); } } } return 0; }
相关文章推荐
- 秘书问题
- ubuntu mysql emma中文乱码问题解决
- 关于Ajax
- Runtime.getRuntime().exec中命令含有括号问题
- 记录问题
- 函数 的 重载 和 函数 模版
- Java&Android编码规范
- Android View上绘制图形和图片的总结
- Unity3D 5 官方教程:地形设置
- jboss安装
- 网球比赛
- BC16&&hdoj5086&&hdoj5087
- Linux内核分析——x86汇编基础
- 0-1背包问题
- 【三层学习】——VB.NET实现登录
- 售票问题
- Scrum 之 角色
- java程序实现打印完美对齐的杨辉三角形
- viewport 手机设备
- Java 反射机制浅析