public static int?GetMinimumMovesToTargetState(string targetState, IEnumerable <string> deadEnds) { return(GetMinimumMovesToTargetState(LockState.Create(targetState), new LockState(0, 0, 0), deadEnds.Select(LockState.Create), int.MaxValue, 0, null)); }