您的位置:首页 > 其它

zoj 1005 Jugs

2014-04-02 16:37 281 查看
题目来源:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5

模拟,由于这题是特判的,因此解不唯一!

#include <iostream>
#include <cstdio>
#include <cstring>

using namespace std;

int main()
{
int Ca, Cb, N;
int t;
while(~scanf("%d %d %d", &Ca, &Cb, &N))//对应各个壶的容量
{

t = 0;
if(Ca == 1)//如果a的容量为1,那么可以一直加,直到满足要求
{
while(t != N)
{
printf("fill A\npour A B\n");
t++;
}
printf("success\n");
continue ;
}

while(t != N)//如果a容量的容量不唯一,那么就一直加,b装满就倒掉,找一个t来控制是否达到了要求
{
printf("fill A\npour A B\n");
t += Ca;
if(t >= Cb)
{
printf("empty B\npour A B\n");
t -= Cb;
}
}
printf("success\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: