public abstract void SplitIndex(out int result1, out int result2, int index);
public override double Heuristic(int index) { int i1, i2; c.SplitIndex(out i1, out i2, index); return(g1[i1] + g2[i2]); }