Это больше вопрос математики, чем программирование, но я думаю, что многие здесь очень хорошо разбираются в математике! :)
Мой вопрос: учитывая сетку 9 x 9 (81 ячейка), которая должна содержать числа от 1 до 9, каждое ровно 9 раз, сколько разных сеток может быть создано. Порядок чисел не имеет значения, например, первая строка может содержать девять единиц и т. Д. Это связано с судоку, и мы знаем, что число допустимых сеток Судоку составляет 6,67 × 10 ^ 21, поэтому моя проблема не ограничена как и в случае с судоку, поскольку в каждой строке, столбце и поле должно быть каждое из 9 чисел, тогда ответ должен быть больше 6,67 × 10 ^ 21.
Моей первой мыслью было, что ответ 81! однако при дальнейшем рассмотрении это предполагает, что 81 число, возможное для каждой ячейки, является различным, отдельным числом. Это не так, существует 81 возможное число для каждой ячейки, но только 9 возможных разных чисел.
Тогда я подумал, что каждая ячейка в первом ряду может быть любым числом от 1 до 9. Если случайно в первом ряду оказалось одно и то же число, скажем, все 1, то каждая ячейка во втором строка может иметь только 8 возможностей, 2-9. Если это продолжается до последней строки, то число различных перестановок может быть вычислено как 9 ^ 2 * 8 ^ 2 * 7 ^ 2 ..... * 1 ^ 2. Однако это не работает, если в каждой строке нет 9 одинаковых номеров.
Прошло довольно много времени с тех пор, как я изучал этот материал, и я не могу придумать, как его решить, я был бы признателен за любую помощь, которую может предложить каждый.