private static bool IsAliveDfa(GuessDfa dfa) { return dfa.State >= 0; }
private static void CalculateNextDfa(GuessDfa dfa, int ch) { if (dfa.State < 0) { return; } var arc = dfa.States[dfa.State, ch]; if (arc < 0) { dfa.State = -1; } else { dfa.State = dfa.Arcs[arc].Next; dfa.Score *= dfa.Arcs[arc].Score; } }