Я пытаюсь случайным образом сгенерировать судоку размером n.
Следовательно, я написал функцию: generateSudoku(int blocksize)
Но, это поколение иногда не удавалось потому что это совершенно случайно , и может случиться так, что генерирует невозможное судоку . Я сделал несколько функций проверки, чтобы предотвратить эти события.
Я думаю, что есть вероятность 50% сгенерировать ложное судоку 2x2, и когда она не удалась, функция запускается бесконечно .
Так что я хотел бы знать, есть ли в C# некоторые функции, которые обнаруживают, что данная функция превышает определенное время выполнения , и существуют ли некоторые функции, которые могут перезагрузить функцию .
Например, я хотел бы, чтобы в моем коде было что-то подобное:
while ( generateSudoku(int blocksize).Time() > threshold ){
generateSudoku(int blocksize).Reload()
}
Я знаю, что писать это абсолютно неправильно, но я не знаю, как это объяснить. лучше.
Вы можете мне помочь? Любые подсказки или предложения?
Заранее спасибо!