Python程序:查找n个车马在棋盘上互不攻击的排列方式
假设我们有一个数字n,表示一个n x n大小的棋盘。我们需要找到放置n个车马的方案数,使得它们彼此之间不能互相攻击。如果在一种方案中,棋盘上的某个格子被占用,而在另一种方案中,该格子未被占用,则这两种方案被认为是不同的。(我们知道,如果车马在同一行或同一列,则它们可以互相攻击)。
因此,如果输入为3,则输出为6
为了解决这个问题,我们将遵循以下步骤:
f = n的阶乘
返回f
让我们看下面的实现来更好地理解:
示例
import math class Solution: def solve(self, n): return math.factorial(n) ob = Solution() print(ob.solve(3))
输入
3
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
输出
6
广告