本来想用DFS遍历每一种操作,后来因为对Java不熟,用Map老出错,一怒之下百度了一下这道题目,看别人代码思路很简单
import java.util.*;
/*
* 功能:zoj1005
* 说明:利用A桶的水不断倒入B中,直到B装不下则将B清空,
* 然后将A中剩余的水倒入B,不断修正,因题目说可以
* 实现,故可以一直循环直到b中水等于目标水量
*/
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
int t = 0;
while(t != c){
System.out.println("fill A");
System.out.println("pour A B");
t += a;
if(t > b){
System.out.println("empty B");
System.out.println("pour A B");
t -= b;
}
}
System.out.println("success");
}
}
}