Algorithm 版 (精华区)

发信人: Lerry (life is waiting...), 信区: Algorithm
标  题: 1005K-Jugs-ZJU
发信站: 哈工大紫丁香 (2002年10月07日09:32:28 星期一), 站内信件

这个不要求最少的步骤,

思路就是从一个一直向另一个灌水


#include "stdio.h"
#include "string.h"
int M,N,K;
int test(int a,int b,int c);
int filla(int a,int b,int c);
int pourab(int a,int b,int c);
int emptyb(int a,int b,int c);
int test(int a,int b,int c)
{
    if(b==c){printf("success\n");return 1;}
    return 0;
}
int filla(int a,int b,int c)
{
    printf("fill A\n");
    if(test(M,b,c)) return 0;
    pourab(M,b,c);
    return 0;
}
int pourab(int a,int b,int c)
{
    printf("pour A B\n");
    if(N-b<a) emptyb(a-N+b,N,c);
    if(N-b>=a) filla(a,b+a,c);
    return 0;
}
int emptyb(int a,int b,int c)
{
    printf("empty B\n");
    if(test(a,0,c)) return 0;
    if(a==0) filla(a,0,c);
    else     pourab(a,0,c);
    return 0;
}
int main()
{
//  freopen("jugs.in","r",stdin);
    int a,b,c;
    while(scanf("%d%d%d",&M,&N,&K)!=EOF)
    {
        a=M;b=0;c=K;
        filla(a,b,c);
    }
    return 0;
}
--
给你讲个故事,从前有个笨蛋,他非常笨,
别人问他什么问题他都只会摇头或回答“没有”,
这个故事你听过吗?

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.249.231]
※ 修改:·Lerry 於 10月07日09:41:02 修改本文·[FROM: 202.118.249.231]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.198毫秒