Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tìm số cách sắp xếp n rook để chúng không thể tấn công nhau trong Python

Giả sử chúng ta có một số n đại diện cho một bàn cờ có kích thước n x n. Chúng ta phải tìm nhiều cách có thể đặt n rooks sao cho chúng không thể tấn công lẫn nhau. Ở đây, hai cách sẽ được coi là khác nhau nếu theo một trong các cách, một số ô của bàn cờ bị chiếm, và theo cách khác, ô đó không bị chiếm. (Chúng tôi biết rằng các rook có thể tấn công lẫn nhau nếu chúng ở trên cùng một hàng hoặc trên cùng một cột).

Vì vậy, nếu đầu vào là 3, thì đầu ra sẽ là 6

Chương trình tìm số cách sắp xếp n rook để chúng không thể tấn công nhau trong Python

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

f =giai thừa của n

trở lại f

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

import math
class Solution:
   def solve(self, n):
      return math.factorial(n)
ob = Solution()
print(ob.solve(3))

Đầu vào

3

Đầu ra

6