public JumpingSolitaireState(boolean[] pre){
  if (pre.length < 10) {
    throw new IllegalArgumentException("invalid triangle problem size. Must be >= 10");
  }
  k=pre.length;
  int adjust=0;
  if ((int)(Math.sqrt(k)) * (int)(Math.sqrt(k)) == k) {
    adjust=1;
  }
  r=adjust + 1 + (int)(Math.ceil(Math.sqrt(k)));
  filled=new boolean[k];
  for (int i=0; i < filled.length; i++) {
    filled[i]=pre[i];
  }
  computeMoves();
}

public JumpingSolitaireState ( boolean [ ] pre ) { if ( pre . length < 10 ) { throw new IllegalArgumentException ( "invalid triangle problem size. Must be >= 10" ) ; } k = pre . length ; int adjust = 0 ; if ( ( int ) ( Math . sqrt ( k ) ) * ( int ) ( Math . sqrt ( k ) ) == k ) { adjust = 1 ; } r = adjust + 1 + ( int ) ( Math . ceil ( Math . sqrt ( k ) ) ) ; filled = new boolean [ k ] ; for ( int i = 0 ; i < filled . length ; i ++ ) { filled [ i ] = pre [ i ] ; } computeMoves ( ) ; }
initialize to pre - existing board state .
