public Solver(int state, int boatSize)
	{
		this.boatSize = boatSize;

		this.state = state;
		previousState = this.state;
		stateTree = new Tree(this.state);
		
		maxMissionaries = state/1000 + state%100/10;
		maxCannibals = (state%1000)/100 + state%10;

		finalState = maxMissionaries*10 + maxCannibals;
		
		findMoves(this.boatSize);
		//System.out.println(moves.toString());
		previousBStates.add(this.state);
		previousFringe.add(stateTree.pointer);
	}