public Jug3State(Jug a, Jug b, Jug c, int m) : base(a, b, m) { JugC = c; }
public void TransferTo(Jug j) { int leftover = j.TopUp(_current); _current = leftover; }
public Jug2State(Jug a, Jug b, int m) : base(a, m) { JugB = b; }
public Jug1State(Jug a, int m) { JugA = a; Moves = m; }