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

public JumpingSolitaireState ( int n ) { if ( n < 10 ) { throw new IllegalArgumentException ( "invalid triangle problem size. Must be >= 10" ) ; } k = n ; filled = new boolean [ k ] ; for ( int i = 0 ; i < k ; i ++ ) { filled [ i ] = true ; } filled [ 4 ] = false ; r = 1 + ( int ) ( Math . ceil ( Math . sqrt ( k ) ) ) ; computeMoves ( ) ; }
initialize to default configuration ( start w / middle of third open ) .
